我试图用另一个标签替换一组标签,但由于某种原因,我似乎无法循环getElementsByTagName()返回的所有标签.
在这个例子中,第二td,第一行中跳过了,即使它在展示了一些原因console.log(tds).
我的代码出了什么问题?
将第一行更改为:
var tds = [].slice.call(document.getElementsByTagName('td'), 0);
返回的值.getElementsByTagName()是NodeList,而不是数组.NodeList对象是"实时"的,这意味着它们会在您更改DOM时发生更改.也就是说,tds.length正在递减,但你i的增量也在增加 - 因此你每次迭代都缺少一个元素.如果你先把它变成一个数组,如上所述,那么你的代码应该可行.