0

jQueryを使用して、別のクラスの要素の子であるクラスの最初の要素を選択したいと思います。私の質問を理解するために、以下の例を見てください。

<div class="a">
    <div class="c"></div>
    <div></div>
    <div class="b">Select this</div>
    <div class="b"></div>
    <div class="b"></div>
</div>
<div class="a">
    <div></div>
    <div class="c"></div>
    <div class="b">Select this</div>
    <div class="b"></div>
    <div class="b"></div>
</div>
<div class="a">
    <div class="b">Select this</div>
    <div class="b"></div>
    <div class="b"></div>
    <div></div>
    <div class="c"></div>
</div>

クラスaのすべての要素の下でクラスbのすべての最初の要素を選択するコードをjQueryで記述したいと思います。

jQueryで次のコードを使用すると、機能しません。

$(".a div.b:first-child").html('Changed!!!!');​

HTMLで「これを選択」とマークしたdivを選択するにはどうすればよいですか?

4

4 に答える 4

4

:firstの代わりに使用し、特定のセクション:first-childにも使用.findします。下記参照、

$(".a").find("div.b:first").html('Changed!!!!');

デモ: http://jsfiddle.net/kjV5j/1/

于 2012-11-12T18:52:31.827 に答える
0

これはうまくいくはずです:

.a > .b:first-child, .a > :not(.b) + .b

jsFiddle デモ

:firstjQuery でサポートされている非標準の疑似クラスと比較して、これはネイティブにサポートされているブラウザー(IE9+)ではるかに高速に動作するはずです。querySelectorAll()

于 2012-11-12T18:52:06.657 に答える
0

代わりにこれを試してください:

    $(".a div.b:eq(0)").html('Changed!!!!'); 
    // OR
    $(".a div.b:first").html('Changed!!!!');
于 2012-11-12T18:53:16.930 に答える
0

「これを選択」を含むタグのテキストを変更する場合:

$('.a div').each(function()
{
  if ( $(this).html() == 'Select this' )
    $(this).html('changed');
});
于 2012-11-12T18:53:25.003 に答える