JavaScript / jQuery:如何在XML元素中获取所有属性的数组? [英] JavaScript/jQuery: How do I get an array of all attributes in an XML element?
本文介绍了JavaScript / jQuery:如何在XML元素中获取所有属性的数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
给出jQuery中的XML元素如下:
Given an XML element in jQuery like so:
$('<foo oy="vey" foo="bar" here="is" another="attribute" />')
我可以使用jQuery或普通的旧JavaScript来获取包含XML元素中所有属性名称的数组?我希望如此:
Can I use either jQuery or plain old JavaScript to get an array containing the names of all the attributes in an XML element? I would expect this:
['oy','foo','here','another']
推荐答案
jQuery函数并不是真的要解析XML,它可以解析HTML,但它实际上并不相同。
The jQuery function isn't really meant to parse XML, it can parse HTML, but it's not really the same.
使用浏览器的XML解析器怎么样:
What about using the browser's XML parser:
function parseXML(text) {
var parser, xmlDoc;
if (window.DOMParser) {
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
} else { // IE
xmlDoc= new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.loadXML(text);
}
return xmlDoc;
}
// Demo
var doc = parseXML('<foo oy="vey" foo="bar" here="is" another="attribute" />');
var foo = doc.childNodes[0];
for (var i = 0; i < foo.attributes.length; i++) {
var attr = foo.attributes[i];
alert(attr.name + " = " + attr.value);
}
运行以上代码这里。
这篇关于JavaScript / jQuery:如何在XML元素中获取所有属性的数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文