我是 jquery 和 ajax 的新手,所以请原谅我缺乏专业的陈述。
我已将 XML 文件加载到 success: function(xml)
.
然后我打电话:
$(xml).find("name").each (function() {
var name = '<li>name: ' + $(this).find("name").text() + '</li>';
$('#name').append(name);
});
这项工作非常有效,我得到了 3 个新的 <li>
正如我所期望的,我的页面上的元素。然而,我没有看到 <name>Network</name>
之间的文本。标签。
我替换了$(find)
方法与 (xml) 只是为了看看会发生什么,它返回所有 3 个名称到所有 3 <li>
(关闭但没有雪茄!)
我怀疑$(this)
我使用的方法有些错误,但对我做错了什么感到有点困惑。
请问有正确的方向吗?
编辑--
XML 片段:
<soap:Envelope>
<soap:Body>
<ns2:getAccountsResponse>
<Accounts>
<acc??ountId>1</accountId>
<address/>
<city/>
<country/>
<creationDate>2012-04-11T00:00:00+01:00</creationDate>
<description/>
<fax/>
<name>Network</name>
<origin>??Support_4</origin>
<phone/>
<postalCode/>
<state/>
<webSite/>
</Accounts>
最佳答案
给定您的 XML 结构,替换此行:
var name = '<li>name: ' + $(this).find("name").text() + '</li>';
这样:
var name = '<li>name: ' + $(this).text() + '</li>';
这是因为 each()
里面循环,this
关键字已经引用 <name />
元素,所以不需要find()
它。
关于ajax - $jquery - $.ajax XML - .find .text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10715779/