通过node.className = ...
更改类名后,我丢失了对象引用var nodeName = 'my_div';
var subNode = document.getElementById(nodeName);
var nodes = subNode.getElementsByClassName('one');
alert (nodes[0]); // OK - [object HTMLSpanElement]
nodes[0].setAttribute('class','zzz');
alert (nodes[0]); // Undefined
如何在变量中保存对象的引用?
答案 0 :(得分:1)
因为getElementsByClassName()返回一个实时集合,这意味着对原始dom元素属性的任何更改都将反映在列表中。
您可以使用querySelectorAll()之类的方法返回非实时元素集
var nodes = subNode.querySelectorAll('.one');