如何让HTMLCollection不活?
var cells = someTable.getElementsByTagName('td');
是实时收藏,这意味着当我向表中添加新的td时,单元格长度将增加1.我怎样才能使它不活?
答案 0 :(得分:0)
你有几个选择。
一个是使用querySelectorAll
代替;它返回一个"快照" NodeList
:
var cells = someTable.querySelectorAll("td");
另一种选择是将其转换为数组:
var cells = Array.from(someTable.getElementsByTagName("td"));
Array.from
相对较新,但可以针对较旧的浏览器进行填充。或者,如果您想支持没有填充的旧浏览器,请使用slice
:
var cells = Array.prototype.slice.call(someTable.getElementsByTagName("td"));