6
A
回答
2
你必须找到首先列出元素,然后按其属性进行过滤。
这里看看我的演示:http://jsfiddle.net/silkster/eDP5V/
1
jquery可以很容易地做到这一点。 http://think2loud.com/224-reading-xml-with-jquery/
+0
我正在构建一个XML,jQuery与IE不能很好地工作。 – Wenn
1
我觉得这是JQuery的免费
document.getElementsByAttribute = function(attribute, value, tagName, parentElement) {
var children = ($(parentElement) || document.body).getElementsByTagName((tagName || '*'));
return $A(children).inject([], function(elements, child) {
var attributeValue = child.getAttribute(attribute);
if(attributeValue != null) {
if(!value || attributeValue == value) {
elements.push(child);
}
}
return elements;
});
}
已经向我指出,我贴错了脚本这证明一个新的答案..嘿嘿阅读here
// document.getElementsByAttribute([string attributeName],[string attributeValue],[boolean isCommaHyphenOrSpaceSeparatedList:false])
document.getElementsByAttribute=function(attrN,attrV,multi){
attrV=attrV.replace(/\|/g,'\\|').replace(/\[/g,'\\[').replace(/\(/g,'\\(').replace(/\+/g,'\\+').replace(/\./g,'\\.').replace(/\*/g,'\\*').replace(/\?/g,'\\?').replace(/\//g,'\\/');
var
multi=typeof multi!='undefined'?
multi:
false,
cIterate=document.getElementsByTagName('*'),
aResponse=[],
attr,
re=new RegExp(multi?'\\b'+attrV+'\\b':'^'+attrV+'$'),
i=0,
elm;
while((elm=cIterate.item(i++))){
attr=elm.getAttributeNode(attrN);
if(attr &&
attr.specified &&
re.test(attr.value)
)
aResponse.push(elm);
}
return aResponse;
}
1
它是很容易使用jQuery。假设我们有这样的字符串。
<document>
<value type="people">
<name>
John
</name>
</value>
<value type="vehicle">
<name>
Ford
</name>
</value>
</document>
然后
var xmlDocument = $.parseXML(str);
$(xmlDocument).find("value[type='people'] name").text()
我们将得到字符串 '约翰' 回来。
相关问题
- 1. 有没有办法通过Tag属性获取XAML元素?
- 2. 有没有办法通过属性来获取元素?
- 3. 有没有一种方法可以在元素方面“差别”两个XML?
- 4. 有没有一种方法可以通过id获取ace编辑器?
- 5. 有没有一种方法可以通过网络访问R?
- 6. XML架构 - 只有一个元素可以具有属性
- 7. Android TabHost有没有一种方法可以通过ID获得TabView
- 8. 在.NET中有没有一种方法可以通过现有的XML文件以编程方式生成DTD?
- 9. 可以通过第二种方法调用方法的属性
- 10. Python HTML - 通过属性获取元素
- 11. 有没有办法通过索引获取jQueryUI标签元素?
- 12. 有没有办法通过使用httpwebrequest的ID获取元素?
- 13. javax.servlet.jsp.JspException:没有获取属性的方法
- 14. 是否有一种有效的方法来获取HTML DOM元素属性更改的通知?
- 15. 具有可变属性的XML元素
- 16. 通过CSS属性设置元素属性,有可能吗?
- 17. 有没有一种方法可以让Chrome浏览器的title =属性工作?
- 18. 有没有一种方法可以减少带边距的元素的高度?
- 19. 有没有一种方法可以对元素执行外部风格?
- 20. 通过类属性的部分匹配获取所有元素
- 21. 有没有一种很好的方法来获取当前的属性名称?
- 22. 有没有一种从GStreamer元素名称获取GType的简单方法?
- 23. 在EF4中,有没有一种方法可以让未映射的属性通过电线实现?
- 24. 有没有一种方法可以通过属性实现maven配置文件激活的反转?
- 25. 有没有一种方法可以通过X找到元素,然后返回Y?
- 26. 获取给定XML元素的所有有效属性
- 27. 有没有一种方法可以让ActionListener取消?
- 28. 有某种方法可以获得某些UIImageView属性吗?
- 29. 当属性无关时,通过XPath获取XML元素
- 30. PHP:通过属性获取XML元素的值
不要这样做。这很粗鲁。在抓取它的属性之前尝试对该元素说话。说真的,你能详细说明你的问题吗?你尝试了什么,结果如何? –
我试图得到一个使用javascript而不是jquery.find的元素(“node [id ='1']”) – Wenn
请不要以“Javascript:”为前缀来标题。这就是标签的用途。 –