0

XMLコードの属性を見つけるために、次の簡単なJQueryコードを書きました。

<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 で確認しました。

どうすればこれを修正できますか?

4

2 に答える 2

1

xmlObjectXMLはルート要素で始まるため、で特定の要素を検索する必要があります。

var tagname = xmlInput.firstChild.nodeName;
// or xmlObject.children().get(0).nodeName

var value = $("utility", xmlObject).attr("value");
于 2012-10-18T13:18:06.043 に答える
1

2 つの問題。まず、投稿されたコードの最後alertalert("value="+tagname);` です。これは、いずれにしても、必要なものを提供しません。次に、解析された XML jQuery セットから要素を取得する必要があります。

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);​
于 2012-10-18T13:23:45.023 に答える