首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在parseXml之后无法获取attr

在parseXml之后无法获取attr
EN

Stack Overflow用户
提问于 2012-10-18 21:15:44
回答 2查看 81关注 0票数 0

我编写了这段简单的JQuery代码,以查找一些XML代码的属性:

代码语言:javascript
复制
<html>
<head>
<meta charset='utf-8' />
<script type="text/javascript" src="js/jquery.min.js"></script>
</head>
<body>
<script>
var msg = '<utility value="346" cost="0" />';
alert(msg);
var xmlInput = $.parseXML(msg);
alert(xmlInput);
var xmlObject = $(xmlInput);
alert(xmlObject);
var tagname = xmlObject.nodeName;
alert("tagname="+tagname);
var value = xmlObject.attr("value");
alert("value="+tagname);
</script>
</body></html>

然而,它不起作用:http://irsrv2.cs.biu.ac.il:8080/GeniusWeb/jqueryTest3.html

标签名称和值都是“未定义的”,我在Firefox和Chrome上检查过了。

我该如何解决这个问题呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-18 21:18:06

应该在xmlObject中搜索某些元素,因为XML是从根元素“开始”的。

代码语言:javascript
复制
var tagname = xmlInput.firstChild.nodeName;
// or xmlObject.children().get(0).nodeName

var value = $("utility", xmlObject).attr("value");
票数 1
EN

Stack Overflow用户

发布于 2012-10-18 21:23:45

有两个问题。首先,您发布的代码的最后一个alertalert("value="+tagname);`,这在任何情况下都不会给您想要的东西。其次,您需要从解析的XML集中检索元素:

代码语言:javascript
复制
var msg = '<utility value="346" cost="0" />';
alert(msg);
var xmlInput = $.parseXML(msg);
alert(xmlInput);
var xmlObject = $(xmlInput);
alert(xmlObject);
var utility = xmlObject.find("utility");
alert("utility="+utility);
var value = utility.attr("value");
alert("value="+value);​
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12955633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档