我有像
这样的HTML<div class="a">
<div class="b">
something
</div>
<div class="c">
<div class="subC">
i want to access
</div>
</div>
</div>
和jquery一样
$('.a').hover(function(){
$(this).children('.subC').fadeOut();
})
我想访问“subC”类,但上面的内容不起作用。
我也试过
$('.a').hover(function(){
$(this).children('.c .subC').fadeOut();
})
但这也不起作用!
这个问题的解决方案是什么!我做错了什么?请帮忙
答案 0 :(得分:4)
children
只有一个深度。请改为find()
。
答案 1 :(得分:1)
当在jQuery闭包内时,this
引用前一个jQuery操作返回的jQuery对象:
$('.a').hover(function() {
// 'this' is a jQuery object containing the result of $('.a')
})
在闭包内使用this
来设置查询当前jQuery对象的范围:
$('.a').hover(function() {
$('.subC', this).fadeOut();
})
答案 2 :(得分:0)
使用.find('selector')
查找深儿童
答案 3 :(得分:0)
正如Rob所说,使用.find
来寻找深层元素。
$('.a').hover(function()
{
$(this).find('.c .subC').fadeOut();
});
如果您想使用.children
,请写
$('.a').hover(function(){
$(this).children('.c').children('.subC').fadeOut();
})