2

次のコード行からすべてのデータIDを取得するにはどうすればよいですか?

HTML:

<div data-id='1' class="userId">
    <span> user name-1 </span>
</div>
<div data-id='2' class="userId">
    <span>user name-2</span>
</div>

javascript:

var userIds = $('.userId').attr("data-id");

しかし、それは1つしか返しません

4

2 に答える 2

7
var userIds = $('.userId').map(function(){
    return $(this).data('id');
}).get();

それはどのように機能しますか?

すべてのuserIdクラス要素を取得し、を使用して属性をmap返す関数(with)を実行し、`getを使用して結果を取得します。data-iddata

コードが機能しないのはなぜですか?

var userIds = $('.userId').attr("data-id");

attrセット内で最初に一致した要素に対してのみ機能するため、最初の要素IDのみを返します1

attr: 一致した要素のセットの最初の要素の属性の値を取得します。

于 2013-02-07T16:57:14.063 に答える
0
var ar = [];
$('div[data-id]').each( function() {
    ar.push($(this).data('id'));
});

...それを行う必要がありますが、私はそれをテストしませんでした。

于 2013-02-07T16:59:44.377 に答える