.data('id')
コレクション内の最初のアイテムの値を返しますが、コレクション内のすべてのアイテムの値を設定します。これは、、などの.data('id','xyz')
他のjQueryメソッドとほぼ同じ動作です。.html()
.text()
そのようなステートメントの最初の部分をテストするだけでは意味がないように思われるかもしれませんが、セレクターがIDである場合や、内部でif
使用する場合など、要素が1つだけであることがわかっている場合はより意味があります。$(this).data('id')
イベントハンドラーか何か。
コレクション内のすべてのアイテムに特定のデータ値があるかどうかをテストする方法を尋ねている場合は、次のように実行できます。
var $col = $('.myClass');
if ($col.length === $col.filter(function(){return $(this).data('id') === '123';}).length) {
// do something
}
または、少なくとも1つがそのデータ値を持っているかどうかを知りたいだけの場合:
if ($('.myClass').filter(function(){return $(this).data('id') === '123';}).length > 0) {
// do something
}