2

我是 jquery 和 ajax 的新手,所以请原谅我缺乏专业的陈述。

我已将我的 XML 文件加载到success: function(xml).

然后我打电话给:

$(xml).find("name").each (function() {
    var name = '<li>name: ' + $(this).find("name").text() + '</li>';
    $('#name').append(name);
});

<li>正如我所期望的那样,我在页面上获得了 3 个新元素,这非常有效。然而,我没有看到<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>
4

1 回答 1

2

鉴于您的 XML 结构替换此行:

var name = '<li>name: ' + $(this).find("name").text() + '</li>';

有了这个:

var name = '<li>name: ' + $(this).text() + '</li>';

这是因为在each()循环内部,this关键字已经引用了<name />元素,所以不需要find()它。

于 2012-05-23T08:08:49.430 回答