2010-11-23 76 views
1

我有以下代码:获取name属性多个家长

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"); 
})