document.getElementsByTagName('div')和document.querySelectorAll('div')都返回NodeList集合。唯一的区别是第一种方法返回实时收集,第二种方法返回静态收集。
问题是 - 是否有机会仅通过检查这些对象来区分一个对象(即 - 不试图添加/删除一些项目来测试“活跃度”)?
提前致谢
答案 0 :(得分:6)
NodeList
界面不知道其死亡或现场状态。
interface NodeList {
Node item(in unsigned long index);
readonly attribute unsigned long length;
};
它只包含一个属性length
和一个方法item
所以我担心目前无法在不操纵DOM并查看效果的情况下确定对象是否存在。
答案 1 :(得分:6)
a=document.querySelectorAll('a');
b=document.getElementsByTagName('a');
a.toString() == "[object NodeList]"
b.toString() == "[object HTMLCollection]"
(在FF / Chrome中)