1

わかりましたので、contains() セレクターを使用して div の css を変更しようとしています。フィドルを参照してください: http://jsfiddle.net/6mdqf/

ご覧のとおり、この関数は、テキスト「John」を直接含んでいないにもかかわらず、親 div を選択します。テキストは子 div に保持されます。親 div を削除すると、すべて正常に機能します。

親 div と他の子がそのまま残されている間に、テキスト「John」を含む子 div のみが選択されるようにするにはどうすればよいですか?

私の質問が理にかなっていることを願っています...

コード:

<div>
    <div>John Resig</div>
    <div>George Martin</div>
    <div>Malcom John Sinclair</div>
    <div>J. Ohn</div>
</div>

そして、js

$("div:contains('John')").css("text-decoration", "underline");
4

4 に答える 4

3

親 div にはその特定のテキストを含む子があるため、セレクターは親 div とその子を選択します。次のことを試してください。

$("div:not(:has(*)):contains('John')").css("text-decoration", "underline");

http://jsfiddle.net/rwQ3u/

于 2012-09-26T10:52:55.283 に答える
2

もう 1 つの方法は、div で子要素を呼び出し、子contains()のセレクターとして使用することです。

$("div").children(":contains('John')").css("text-decoration", "underline");​

JSFiddle

于 2012-09-26T10:54:44.187 に答える
0

最初にdivがあり、その中を検索し、div内でジョンを見つけてすべて選択するため、これを試してください:

<div>
    <div class="search">John Resig</div>

    <div class="search">George Martin</div>
    <div class="search">Malcom John Sinclair</div>
    <div class="search">J. Ohn</div>
</div>
​$(document).ready(function(){
    $("div .search:contains('John')").css("text-decoration", "underline");
});
于 2012-09-26T10:51:28.083 に答える
0
$("div>:contains('John')").css("text-decoration", "underline");

編集されたjsFiddle: http://jsfiddle.net/6mdqf/1/

于 2012-09-26T10:52:28.257 に答える