2

jQueryにはセレクターがあります-:contains

例:

str = 'test';
blocked_div = $(".mydiv:contains("+str+")");
blocked_div.find('img').hide();
...
<a href="http://example.com">test</a>
...

私が理解しているように、それは「.mydiv」要素内の「テスト」テキストの検索です。しかし今、私は「.mydiv」要素内のリンク「http://example.com」を見つける必要があり、:containsはこの状況では機能しません。これを行うための解決策をお勧めできますか?

4

3 に答える 3

3

もしかして:

$(".mydiv a[href='example.com']");

*=または^=フィルターを使用して、特定のテキストを任意の場所または文字列の先頭に含むリンクを検索することもできます。

// find links containing "example" in href at any place
$(".mydiv a[href*='example']");

変数についてstrは、次のように変更できます。

$('.mydiv a[href=' + str + ']'); // exact match
$('.mydiv a[href*=' + str + ']'); // contains str anywhere in href
于 2012-05-31T15:33:38.607 に答える
2

文字列が HREF に含まれているかどうかをテストしますか? これはそれを行うべきです:

$('.mydiv a[href~='+str+']');

~=、左側の属性に右側の文字列が含まれていることを意味します。

于 2012-05-31T15:33:55.707 に答える
1

次のようにセレクターを変更します。

var str = 'test';
$(".mydiv a:contains("+str+")").attr('href'); // return `href` attribute of that `a`
                                              // contains string test

特定のリンクを取得するにはhref

var str = 'http://example.com';
$(".mydiv a[href="'+ str+ '"]");
于 2012-05-31T15:31:44.943 に答える