是否存在非IE等效的“所有”元素集合?

时间:2013-11-18 18:25:57

标签: javascript internet-explorer

当编写要在IE中执行的javascript函数时,我可以编写类似

的内容
var myObj = document.getElementByID('myTable');
var firstRow = myObj.rows[0];
var allRowObjects = firstRow.all;

在IE之外,“。all”将无法识别,因此在其他浏览器中运行时我会遇到问题。我找到了对querySelectorAll(“*”)函数的引用,这似乎是获取相同节点列表的环境安全方法,但这是“.all”正在做什么?是否有一个不同的模拟我应该使用,我在哪里可以找到关于“所有”的文档?

1 个答案:

答案 0 :(得分:2)

Microsoft actually admits .all不是任何标准的一部分,从IE 11开始不再受支持,并建议您改为使用getElementById

  

all集合包含每个有效HTML的一个元素对象   标签。如果有效标记具有匹配的结束标记,则表示两个标记   由相同的元素对象。

     

文档的所有集合始终返回的集合   包括对HTML,HEAD和TITLE对象的引用   标签是否存在于文档中。

     

如果BODY标记不存在,但其他HTML标记是BODY对象   被添加到所有集合中。如果文档包含无效或   未知标签,该集合包括每个的一个元素对象。   与有效的结束标记不同,未知的结束标记由它们自己表示   元素对象。元素对象的顺序是HTML源   订购。虽然集合表示标签的顺序,但确实如此   不表示等级。

     

name属性仅适用于某些元素,例如表单元素。   如果vIndex设置为与name属性的值匹配的字符串   在name属性不适用的元素中,然后是该元素   不会被添加到集合中。