0

同じクラス名を持つ id のすべての名前のリストを取得しようとしていますtest-class

<div class="test-container">
    <div class="test-class" id="test-1">
        //some markup
    </div>
    <div class="test-class" id="test-2">
        //some markup
    </div>
</div>

クラス名が同じであることがわかっている場合test-1、のリストを取得するにはどうすればよいですか?test-2

私はこれを試しましたが、うまくいきませんでした

var array = jQuery.makeArray($(".test-class").attr("id"));
console.log(array[0]); //test-1
console.log(array[1]); //undefined

.attr は最初の ID のみを返し、残りの ID をキャプチャしないようです。どんな助けでも素晴らしいでしょう。

4

2 に答える 2

1

$.mapそのために関数を使用できます:

var arr = $.map($(".test-class"), function(el, i) {return el.id});

console.log(arr[0]); //test-1
console.log(arr[1]); //test-2

フィドル

補足として、これはjQueryなしでも難しくありません:

var elems = document.getElementsByClassName('test-class'),
    arr   = [];

for (i=0; i<elems.length; i++) {
    arr.push(elems[i].id);
}

フィドル

于 2013-04-06T18:18:41.953 に答える
0

を使用してループオーバーできます$.each

var ids = []

$.each($('div.test-class'), function(idx, el) {
    ids.push(el.id)
});
于 2013-04-06T18:19:22.197 に答える