document.getElementsByTagName('div') 和 document.querySelectorAll('div') 都返回 NodeList 集合。唯一的区别是第一种方法返回实时集合,第二种方法返回静态集合。
问题是 - 是否有机会仅通过检查这些对象来区分一个对象和另一个对象(即 - 不尝试添加/删除某些项目来测试“活跃度”)?
提前致谢
document.getElementsByTagName('div') 和 document.querySelectorAll('div') 都返回 NodeList 集合。唯一的区别是第一种方法返回实时集合,第二种方法返回静态集合。
问题是 - 是否有机会仅通过检查这些对象来区分一个对象和另一个对象(即 - 不尝试添加/删除某些项目来测试“活跃度”)?
提前致谢
该NodeList
接口不知道它的死或活状态。
interface NodeList {
Node item(in unsigned long index);
readonly attribute unsigned long length;
};
它只包含一个属性length
和一个方法item
,所以恐怕目前无法在不操作 DOM 并查看效果的情况下确定一个对象是否处于活动状态。
a=document.querySelectorAll('a');
b=document.getElementsByTagName('a');
a.toString() == "[object NodeList]"
b.toString() == "[object HTMLCollection]"
(在 FF/Chrome 中)