Javascript 有没有办法通过属性获取元素xml?
我试图通过属性获取xml节点 编辑Javascript 有没有办法通过属性获取元素xml?,javascript,xml,Javascript,Xml,我试图通过属性获取xml节点 编辑 我正在尝试使用javascript xml而不是jquery通过属性值检索元素。有没有一种简单的方法可以做到这一点?jquery可以很容易地做到这一点 我觉得这证明了一个新答案的合理性,因为它是JQuery免费的 document.getElementsByAttribute = function(attribute, value, tagName, parentElement) { var children = ($(parentElement) |
我正在尝试使用javascript xml而不是jquery通过属性值检索元素。有没有一种简单的方法可以做到这一点?jquery可以很容易地做到这一点 我觉得这证明了一个新答案的合理性,因为它是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;
});
}
有人向我指出我贴错了剧本。。呵呵,读了
您必须首先找到元素列表,然后根据它们的属性进行过滤
在这里查看我的演示:使用jQuery非常简单。假设我们有这样一根弦
<document>
<value type="people">
<name>
John
</name>
</value>
<value type="vehicle">
<name>
Ford
</name>
</value>
</document>
我们会找回字符串“John”。不要那样做。这很粗鲁。在通过属性抓取元素之前,请尝试与元素对话。说真的,你能详细说明你的问题吗?您尝试了什么,结果如何?我尝试使用javascript而不是jquery.find(“node[id='1'])获取元素。请不要在标题前加上“javascript:”。这就是标签的用途。如果你不想使用jQuery,你可以在IE中使用
DomParser
或loadXML
:但是说真的,使用jQuery。检查这个链接可能是值得的:但不确定这是否是你想要的。我正在动态构建一个xml,jquery与IE不兼容。您确定这是一个没有jquery的答案吗<代码>$(parentElement)?哎呀!我在同一论坛上看了两个。。。。我两个都考了。。对我来说似乎很有用。所以不完全是jQuery免费的,但是jQuery lite是肯定的-没有扩展/插件/模块…无论如何,谢谢你,我只是通过循环元素并比较属性来得到结果。我只是想知道是否有像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()