簡體   English   中英

查找具有匹配屬性的元素

[英]Find element with matching attribute

我有一些xml:

<myco:results xmlns:myco="http://myco.mycollp.com" resultsTypeID="StockChart">
    <myco:row xmlns:myco="http://myco.mycollp.com">
        <myco:price title="stock">0.6107013847</myco:price>
        <myco:price title="index">0.61965464</myco:price>
    </myco:row>
</myco:results>

我正在使用以下jQuery進行遍歷:

$(xml).find("row").each(function () {

    var stockPrice = $(this).find("price[title='stock']").text();
}

但是stockPrice總是以空字符串形式返回。

如果我檢查:

$(this).find("price[title!='stock']")

它的長度為2,而不是1,並且

$(this).find("price[title='stock']")

長度為0。

我究竟做錯了什么?

更新

給了完整的xml和名稱空間信息,我本來就省略了這個例子以使示例更清楚,但這可能是問題的原因,所以現在就給出完整的XML。

這是使用命名空間時選擇器不正確的地方: http : //jsfiddle.net/PvakT/3/

好的,我設法使用@pimvdb建議的jsfiddle.net網站來工作。

var xml = '<myco:results xmlns:myco="http://myco.mycollp.com">\
    <myco:row xmlns:myco="http://myco.mycollp.com">\
        <myco:price title="stock">0.61</myco:price>\
        <myco:price title="index">12.5</myco:price>\
            </myco:row>\
</<myco:results>';

$(xml).find("myco\\:row").each(function () {
    var stockPrice = $(this).find("myco\\:price[title='stock']").text();
    alert(stockPrice);
});

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM