1

重複の可能性:
jquery v1.3.2属性による要素の検索
クラスまたはIDがない場合、hrefによってリンクを取得することは可能ですか?

私の質問は、要素への属性を持つことを中心に展開しています(IDは一意であると確信できるため、IDを使用することはできません)-

たとえば、私はこれを持っています:

<a href="someurl.com">Link</a>

しかし、私は動的に注入することができ、これをdomで参照するための実行可能/高速/効率的な方法を使用できる可能性があります(このようなリンクは多数あることに注意してください)。

<a href="someurl.com" data-access-label="000998">Link</a>

だから、私はハッシュを通して繰り返し、これが速く/効率的であるかどうか興味がありますか?

data = {
  '98789' : 'yeah',
  '871637':'cool',
  '00198789' : 'sure thing',
  '871609':'no way',
  '000998':'alright'
}

したがって、すべてのリンクを介してそれぞれがdata-access-label値を検索し、次に何を検索するかは、私には非効率的です。これらのhrefなどをバインドして、関数を実行すると次のようになりますか?

 <div>
   <a href="someurl.com" data-access-label="000998">Link</a> alright
       <span> <a href="someurl.com" data-access-label="871637">Link</a> cool</span>
 </div>

いつでもデータハッシュには40以上のアイテムしか存在しないので、おそらくそれを介して「.each」し、キーをそれらのデータアクセスラベルの値と一致させることができますか?しかし、私の望みは、hrefを介して繰り返すのではなく、おそらくそのアイテムに直接アクセスすることです。

4

3 に答える 3

4

jQueryの属性セレクターの使用:

var link = $('[data-access-label*="' + identifier + '"]');

alert(link.text());
于 2012-10-29T18:21:28.077 に答える
2

$( "a [data-access-label]")

これにより、そのプロパティを持つすべての要素の配列が返されます。

その後、さらに処理するために.each()を呼び出すことができます。

http://api.jquery.com/has-attribute-selector/

于 2012-10-29T18:26:33.713 に答える
0
$("a").each(function(i) { 
    if (typeof $(this).attr('name') !== 'undefined' && $(this).attr('name') !== false) {
        // do work
    };
})

また

$("a").each(function(i) { 
    if (typeof $(this).data('access-label') == "000998") {
        // do work
    };
})

また

$('[data-access-label*="' + indexValue + '"]').click(function(e) { /* do work */ });
于 2012-10-29T18:24:20.230 に答える