在那个XML中:
<elements>
<product id="1">
<brand>xxxxxxx</brand>
<dci>xxxxx</dci>
<therapeutic_area>xxxxxx</therapeutic_area>
</product>
<product id="2">
<brand>xxxxxx</brand>
<dci>xxxx</dci>
<therapeutic_area>xxxx</therapeutic_area>
</product>
<product id="3">
<brand>xxx</brand>
<dci>xxxx</dci>
<therapeutic_area>xxxxx</therapeutic_area>
</product>
我需要选择具有特定属性值的节点。例如2
我尝试了这个,但它不起作用:
alert(xmlDoc.getElementsByTagName("product")[0].getAttributeNode("2"));
提前感谢您的帮助
答案 0 :(得分:1)
试试这个
var list=xmlDoc.getElementsByTagName("product");
for (i=0;i<list.length;i++)
{
if(list[i].getAttribute("id")==2){
// Found your node
}
}
答案 1 :(得分:1)
var xmlfile = "<elements><product id=\"1\"><brand>xxxxxxx</brand><dci>xxxxx</dci><therapeutic_area>xxxxxx</therapeutic_area></product><product id=\"2\"><brand>xxxxxx</brand><dci>xxxx</dci><therapeutic_area>xxxx</therapeutic_area></product><product id=\"3\"><brand>xxx</brand><dci>xxxx</dci><therapeutic_area>xxxxx</therapeutic_area></product></elements>";
var parser = new DOMParser();
xmlDocument = parser.parseFromString(xmlfile,"text/xml");
var products = xmlDocument.getElementsByTagName("product");
for (var i = 0; i < products.length; ++i) {
if (products[i].getAttribute("id") == 2) {
// product id is 2.
}
}
http://jsfiddle.net/dvgLhw66/ &lt; - 工作小提琴。
您使用的是错误的原型。 getAttributeNode不存在,您正在寻找getAttribute。
答案 2 :(得分:1)
var node = xmlDoc.getElementsByTagName("product");
for (var index in node) {
if (node[index].getAttribute("id") == "2") {
alert();
}
}
答案 3 :(得分:0)
我真的不明白你在这里尝试做什么,但尝试这样的事情。
alert(document.querySelector("[id='2']").querySelector('brand'));
请参阅querySelector。