无法访问子元素 - jquery

时间:2010-06-27 15:25:41

标签: jquery html function hover children

我有像

这样的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();
})

但这也不起作用!

这个问题的解决方案是什么!我做错了什么?请帮忙

4 个答案:

答案 0 :(得分:4)

children只有一个深度。请改为find()

http://api.jquery.com/children/

答案 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();
})