我的代码有问题:
代码:
var row = ["1", "1"];
var column = ["1", "2"];
var song = ["36", "39"];
var arrayLength = row.length;
var arrayLength2 = column.length;
for (var i = 0; i < arrayLength; i++) {
for (var e = 0; e < arrayLength2; e++) {
var samples = document.querySelectorAll('[data-row-id="'+row[i]+'"][data-column-id="'+column[e]+'"][data-parent-id="-1"]');
for(var f = 0; f < samples.length; f++) {
var sample = samples[f];
sample.setAttribute('data-sample-id', song);
console.log("Colore cambiato");
}
}
}
这段代码基本上要做的事情:
代码应如何运行:
<div class="cell" data-row-id="1" data-column-id="1" data-sample-id="36" data-parent-id="-1"></div>
<div class="cell" data-row-id="1" data-column-id="2" data-sample-id="39" data-parent-id="-1"></div>
问题:
但是当我运行它时,在 data-sample-id 中,两个 div 中都有“36,39”。 当数据行 ID 为“1”并且数据列 ID 为“1”时,我希望有“36”,当数据行 ID 为“1”且数据列 ID 为“1”时,我希望有“39”列 ID 为“2”!
我不知道如何解决,请帮助我!
更新
如果我在歌曲(song[i])之后添加“i”索引,则两个 Div 中都有“39”。 (http://prntscr.com/fq4wci)
已解决!
我只对所有数组使用了 i
索引并且工作完美,非常感谢:)
针对遇到我的问题的用户的代码:
var row = ["1", "1", "2","3"];
var column = ["1", "2", "1","4"];
var song = ["36", "39", "45", "22"];
var arrayLength = row.length;
for (var i = 0; i < arrayLength; i++) {
var samples = document.querySelectorAll('[data-row-id="'+row[i]+'"][data-column-id="'+column[i]+'"][data-parent-id="-1"]');
for(var f = 0; f < samples.length; f++) {
var sample = samples[f];
sample.setAttribute('data-sample-id', song[i]);
console.log("Colore cambiato");
}
}
最佳答案
试试这个:您需要使用 for 循环来设置您想要的类的属性。
var row = ["1", "1"];
var column = ["1", "2"];
var song = ["36", "39"];
var arrayLength = row.length;
var arrayLength2 = column.length;
for (var i = 0; i < arrayLength; i++) {
for (var e = 0; e < arrayLength2; e++) {
var samples = document.querySelectorAll('[data-row-id="'+row[i]+'"][data-column-id="'+column[e]+'"][data-parent-id="-1"]');
}
}
for(var f = 0; f < samples.length; f++) {
for(var s = 0; s < song.length; s++) {
samples[f].setAttribute('data-sample-id', song[s]);
console.log("Colore cambiato");
}
}
关于javascript - 如何在同一索引处输出不同的数组javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44852968/