forループのインデックス変数をAjaxの成功関数に渡すことに問題があります。これは重複していることは知っていますが、ループ変数をAJAXの成功に渡す
を私が渡したい変数埋め込み、i
- 私が達成しようとしているものを、今
embeds = document.getElementsByClassName('kcode');
for (i = 0, l = embeds.length; i < l; i++) {
if (typeof embeds[i] != 'undefined' && typeof embeds[i].classList != 'undefined' && !embeds[i].classList.contains('filled')) {
embeds[i].classList.add('filled');
var embed = window.intext[embeds[i].getAttribute('data-k-kid')];
if (embed) {
embeds[i].classList.add('embed');
switch (embed.type.toLowerCase()) {
case 'sport_plugin':
if(sportData.selectedType.name == "Ranking Table") {
(function(i) {
jQuery.ajax({
url: url,
dataType: 'json',
success: function(response) {
var content = '';
if (table.name == "Western Conference" || table.name == "Eastern Conference") {
content+= '</div>';
embeds[i].innerHTML = content;
}
}
});
})(i);
}
break;
default:
embeds[i].style.display = "none";
}
embeds[i].classList.remove('kcode');
i--;
}
}
}
を:私のために動作するように...
をとにかく、私は右ここにこのコードを持っています変数for
のループインデックスをmy ajax respoに挿入するnseだから、応答が完了した後で埋め込み[i]のinnerhtml
を設定することができました。私はアヤックスfunction in (function (i) {})(i);
閉鎖をラップしようとしましたが、それは役に立たなかった。何か案は?ありがとうございました!
こんにちは、 は が、残念ながらそれdidin、お返事ありがとうございました私の問題を解決していない。 私はまだ "定義されていないためにinnerhtmlを設定できません"を得ています。 –
また、同じ概念を埋め込みにも試してみてください。 successCallback.embeds = embeds。次に、コールバック関数this.embeds [this.i] .innerHTML = content –