documentElement.getElementsByTagName("a")
但就达到相同的目的,两种方法谁更快一些?
8 个解决方案
#1
个人觉得是documentElement.getElementsByTagName("a") 快吧。。。
#2
都一样吧!都是dom!!要快用SAX
#3
我觉得一样 回复内容太短了!
#4
我感觉应该也差不多,不过就是想得到一点有力的说明
#5
如果dom不是很大的,差别不大的,比较没太大意义。真要快的话就像2楼说的用sax
#6
实践即真理:
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);
#7
它俩实现的目的不一样吧。
documentElement.selectNodes("a") 中的a 包括着路径信息的吧。
documentElement.selectNodes("a") 中的a 包括着路径信息的吧。
#8
我也遇到了差不多的问题!
#1
个人觉得是documentElement.getElementsByTagName("a") 快吧。。。
#2
都一样吧!都是dom!!要快用SAX
#3
我觉得一样 回复内容太短了!
#4
我感觉应该也差不多,不过就是想得到一点有力的说明
#5
如果dom不是很大的,差别不大的,比较没太大意义。真要快的话就像2楼说的用sax
#6
实践即真理:
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);
#7
它俩实现的目的不一样吧。
documentElement.selectNodes("a") 中的a 包括着路径信息的吧。
documentElement.selectNodes("a") 中的a 包括着路径信息的吧。
#8
我也遇到了差不多的问题!