web-dev-qa-db-ja.com

jQueryだけでxml属性を解析する方法は?

私はすでにxmlを正常に解析していますが、子供の属性を取得することに行き詰まっています。

XMLの例:

<entries>
    <entry>
        <media:thumbnail url="blah" />
    </entry>
</entries>

JavaScript/jQuery:

$.get('data.xml', function(d){
    $(d).find('entry').each(function(){
        var $entry = $(this);
        var pic = $entry.find('media:thumbnail').attr('url');
    })
});

このJavaScriptは、属性を取得するために機能しません。どうしたの?

17
Ryan

名前空間は別の種類の動物で、元の投稿にはありませんでした。エスケープする必要があります:をセレクタで使用します。

var pic = $entry.find('media\\:thumbnail').attr('url');

http://jsfiddle.net/JSrJe/1/

参照 名前空間によるjQuery XML解析

24
DarthJDG

これを試してください

$.ajax({
    type: "GET",
    url: 'data.xml,
    dataType: "xml",
    success: function(xml) {
        $(xml).find('entry').each(function(){
            var $entry = $(this);
            var pic = $entry.find('picture').attr('url');
            alert(pic);
        })
    },
    error: function(xhr, status, error) {
        if (xhr.status != 404) {alert(error);} else {alert("404 xml not found");}
    }
})
1
mcgrailm
  $.get('data.xml', function(d) {
    $(d).find('entry').each(function() {
        var $entry = $(this);
        var pic = $e`enter code here`ntry.find('media\\:thumbnail, thumbnail').attr('url');
    })
});
0