jQuery - 如何在下面的子元素中找到元素?

时间:2016-05-13 00:18:16

标签: javascript jquery

我需要jQuery语句在这段代码中找到“.findme”:

$('.clicky').click(function() {
    // the .find() method doesn't do it
    $(this).find('.findme').css('color', 'red');
});

<div class='clicky'></div>
<div class='brother'>
    <div class='findme'>Here I am</div>
</div>

我在.find()以及.next().children()上尝试了各种变体,我无法解决这个问题....

2 个答案:

答案 0 :(得分:2)

this中的

$(this).find('.findme')实际上是指被点击的元素(带有clicky类的div。

.find()实际上会搜索您调用它的元素的后代,因为&#34; findme&#34;不属于&#34; clicky&#34; div,它找不到它。

您应该使用jquery的.next()函数来立即跟随&#34; clicky&#34; div(&#34; brother&#34;),然后在那里搜索&#34; findme&#34;格。

$(this).next().find(".findme").css("color", "red");

答案 1 :(得分:1)

您可以尝试更改

$('.clicky').click(function() {
    // the .find() method doesn't do it
   $(this).siblings().children('.findme').css('color', 'red');
});

我认为你错过了点击我内部文本的div

<div class='clicky'>click me!!!</div>
<div class='brother'>
  <div class='findme'>Here I am</div>
</div>