1

我有一个 html 块,其中包含很多孩子。

<div id="selectedId">
    <div class=".."><a class=".."></a>
        <button style=".."></button>
    </div>
    <div id="otherId">
        <table></table>
    </div>
</div>

我正在使用 jquery 来选择父级。然后,我尝试遍历所有后代并访问各种属性,例如类或 innerHtml。我似乎无法访问他们的属性。

function rewriteCategoryName(oldCategoryName, newCategoryName)
{
    // get div parent
    var parentDiv = $("#selectedId");   

    parentDiv.find('*').each( function(el,key) {
        alert(el+" --");
        el.each( function(el,key) {
           // i get just numbers here, and undefined on everything 
           // i try to access
        });

    });
}

有任何想法吗?我在这里做错了什么?有没有我遗漏的概念?

4

2 回答 2

1
$("#selectedId").find('*').each( function(el,key) {

    $(this).each(function() {
      $.each(this.attributes, function() {
        // this.attributes is not a plain object, but an array
        // of attribute nodes, which contain both the name and value
        if(this.specified) {
          console.log(this.name, this.value);
        }
      });
    });

});
于 2013-08-21T10:03:02.123 回答
1

你已经在每个函数中切换了顺序,关键是第一个参数,元素是第二个,所以改变:

$("#selectedId").find('*').each( function(el,key)

至:

$("#selectedId").find('*').each( function(key,el) {

更多详情:http ://api.jquery.com/jQuery.each/

于 2013-08-21T12:05:19.733 回答