getElementsByTagName 和 selectNodes谁更快

softwaiter 2010-02-25 02:26:08
documentElement.selectNodes("a")
documentElement.getElementsByTagName("a")

但就达到相同的目的,两种方法谁更快一些?
...全文
283 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
aimeemiao 2012-04-06
  • 打赏
  • 举报
回复
我也遇到了差不多的问题!
浴火_凤凰 2010-02-26
  • 打赏
  • 举报
回复
它俩实现的目的不一样吧。
documentElement.selectNodes("a") 中的a 包括着路径信息的吧。
sohighthesky 2010-02-26
  • 打赏
  • 举报
回复
实践即真理:
var stringToDom=function(text) {
var doc;
if(window.ActiveXObject) {
doc = new ActiveXObject("MSXML2.DOMDocument");
doc.loadXML(text).documentElement;
} else {
doc = (new DOMParser()).parseFromString(text,"text/xml");
}
return doc;
}
var xmlDoc=stringToDom("<body><a href='a'>a</a><a href='b'>b</a></body>");
var c,d1=new Date();
for(var i=0;i<100000;i++){
c=xmlDoc.getElementsByTagName("a");
}
document.write("getElementsByTagName: ",new Date()-d1);
d1=new Date();
for(var i=0;i<100000;i++){
c=xmlDoc.selectNodes("a");//ff好像出不来
}
document.write("<br/>selectNodes: ",new Date()-d1);
unicode 2010-02-26
  • 打赏
  • 举报
回复
如果dom不是很大的,差别不大的,比较没太大意义。真要快的话就像2楼说的用sax
softwaiter 2010-02-26
  • 打赏
  • 举报
回复
我感觉应该也差不多,不过就是想得到一点有力的说明
shan1119 2010-02-25
  • 打赏
  • 举报
回复
我觉得一样 回复内容太短了!
街头小贩 2010-02-25
  • 打赏
  • 举报
回复
都一样吧!都是dom!!要快用SAX

  • 打赏
  • 举报
回复
个人觉得是documentElement.getElementsByTagName("a") 快吧。。。

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧