我需要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()
上尝试了各种变体,我无法解决这个问题....
答案 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>