Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 查找具有匹配属性的元素_Jquery_Xml - Fatal编程技术网

Jquery 查找具有匹配属性的元素

Jquery 查找具有匹配属性的元素,jquery,xml,Jquery,Xml,我有一些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 tit

我有一些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>
然而,股票价格总是以空字符串的形式返回

如果我检查:

$(this).find("price[title!='stock']")
它的长度为2,而不是1,并且

$(this).find("price[title='stock']")
长度为0

我做错了什么

更新


我已经给出了包含名称空间信息的完整xml,为了让示例更清晰,我本来省略了它,但这可能是问题的原因,所以现在就给出完整的xml。

好的,我设法使用@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);
});
var-xml='1〕\
\
0.61\
12.5\
\

很明显,您的选择器在使用命名空间时不正确:

我假设
$(this).find(“price[title='stock'])
长度为零?有效:。@pimvdb:我运行它时没有收到警报,但也没有js错误。贾斯汀·萨蒂尔:你是对的,我正在检查它,它似乎在IE9上有效,但在IE8上无效。不确定这背后的原因是什么。@pimvb:我已经更新,在上面和下面给出了完整的xml
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);
});