Sha*_*rad 3 javascript xml xpcom firefox-addon xml-parsing
在Mozilla中使用DOMParser方法从XML字符串解析DOM上是否支持document.getElementById方法?我正在创建一个mozilla扩展,它读取xmlfile并使用DOM Parser将xml转换为DOM元素,并尝试通过Id获取元素.方法getElementsByTagName有效,但不是getElementById.它总是返回null.
function (xmlString) {
var parser = new DOMParser();
var doc = parser.parseFromString(xmlString, "text/xml");
var aNodes = doc.getElementsByTagName("nodeTag");
for(var i=0; i<aNodes.length; ++i) {
var id = aNodes[i].getAttribute('id');
var resultNode = doc.getElementById(id);
alert(id);
alert(resultNode);
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了上面的代码.alert(id)返回正确的id,其中alert(resultNode)每次都返回null.
不,document.getElementById通常不会处理任意XML文档.
在最近的浏览器(例如Firefox 3.5及更高版本)中,您可以使用document.querySelector:
var resultNode = doc.querySelector("[id=" + id + "]");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7060 次 |
| 最近记录: |