3

data-itemid属性を要素に追加すると、を使用してその要素を見つけることができません

$('someSelector').find( '[data-itemid="' + itemid + '"]' )

やってる

$('#id-of-element-i-added-the-attribute-to').data('itemid')

正しいデータを返します。

$('#id-of-element-i-added-the-attribute-to').attr('data-itemid')

空の文字列を返します。

$('someSelector').find( '[data-itemid="' + itemid + '"]' )最初にそのデータダッシュ属性を持つ要素に対しては機能しますが、動的に追加された属性に対しては機能しません。

このように属性を追加します $('#'+listItemId).data('itemid', itemId);

特定の値を持つ動的に追加されたdata-itemid属性を持つ要素を見つけるにはどうすればよいですか。

このセレクターは同様に機能しません(空の配列を返します):

$('*').find( '[data-itemid="' + itemid + '"]' )
$('[data-itemid="' + itemid + '"]' )
$('[data-itemid="16"]' )
4

1 に答える 1

7

filter動的に追加されたdata属性を検索するために使用できます。これを試して:

var $elementsWithDataAttr = $('someSelector .class').filter(function() {
    return $(this).data('itemid') != "";
});
// do something with $elementsWithDataAttr ...
于 2013-01-14T09:47:22.883 に答える