Как анализировать атрибуты xml только с помощью jQuery?
Я уже разбираю 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 не работает для меня, чтобы получить атрибут.
В чем проблема?
Ответы
Ответ 1
Аа, пространства имен - это разные виды животных, это не было в вашем первоначальном посте. Вы должны избегать :
в вашем селекторе.
var pic = $entry.find('media\\:thumbnail').attr('url');
http://jsfiddle.net/JSrJe/1/
См. также jQuery Разбор XML с пространствами имен
Ответ 2
попробуйте это
$.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");}
}
})
Ответ 3
$.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');
})
});