2010-11-23 2 views
1

У меня есть следующий код:Получить имя атрибута для нескольких родителей

var parentEls = $(root) 
       .find("credit standard") 
       .parents() 
       .map(function() { 
        return this.tagName; 
        }) 
       .get() 
       .join(" > "); 
       alert(parentEls); 

      $("#breadcrumb").append("<p>" + parentEls + "</p>"); 

Это прекрасно работает для возвращения родителей. Однако я не хочу возвращать tagName, вместо этого я хочу использовать атрибут name для каждого родителя. Я попробовал

.map(function() { 
         return this.attr("name"); 
         }) 

но это не работает. Есть ли способ сделать это, не прибегая к циклу?

+0

Не могли бы вы, пожалуйста, вставьте HTML, а также. – 2010-11-23 16:11:40

+0

Ой извините, я пытаюсь пройти XML: – 2010-11-23 16:13:25

ответ

2

attr не является нативным методом, это метод jQuery. Поэтому постарайтесь, чтобы обернуть this в конструктор JQuery:

return $(this).attr('name'); 

или использовать метод getAttribute вместо:

return this.getAttribute('name'); 
0

Вы должны обернуть элемент с JQuery использовать .attr. Либо использовать

this.name

или $(this).attr('name')

0

Я хотел бы попробовать следующее

.map(function() { 
    return $(this).attr("name"); 
}) 
Смежные вопросы