jQuery选择器问题

时间:2011-08-20 01:23:14

标签: javascript jquery dom jquery-selectors

    <div class="full_width_last">

        <div class="sub_div1" style="display:none">
            <h2>Join</h2>
            <p>Click here to sign up.</p>
            <p>ID: 48</p>
        </div>

        <h4>Boston</h4>
        <p>ioiuy</p>
        <a href="#" class="join_button">Join</a>

    </div>

    jQuery('.join_button').bind('click', function(){



        console.log(jQuery(this));
        console.log(jQuery(this).parent());
        console.log(jQuery('.sub_div1', jQuery(this).parent()));
        return false;
    }

我遇到了jQuery选择器的问题:jQuery('.sub_div1', jQuery(this).parent())

由于某种原因,图书馆找不到我正在搜索的div。

这两种:

console.log(jQuery(this));
            console.log(jQuery(this).parent());

按预期工作。任何人都知道为什么我不能引用.sub_div1?

编辑1 : 尝试缓存父级,但这不起作用:

console.log(jQuery(this));
        //console.log(jQuery(this).parent());
        var p = jQuery(this).parent();
        console.log(jQuery('.sub_div1', p));

编辑2 jQuery(this).parent().children(".sub_div1")也无效

此代码产生了这个结果:

console.log(jQuery(this));
console.log(jQuery(this).parent());
console.log(jQuery(this).parent().children(".sub_div1"));

Query(a.join_button #✉)
jQuery(div.full_width_last)
jQuery()

4 个答案:

答案 0 :(得分:1)

尝试使用此jQuery(this).parent().children(".sub_div1")

答案 1 :(得分:0)

尝试jQuery(this).parent().eq(".sub_div1")

答案 2 :(得分:0)

很好奇为什么你会得到父母,然后是孩子,为什么不只是jQuery(this).siblings('.sub_div1')

但是,根据您的评论,您没有提供HTML的完整详细信息(或至少足够)。

答案 3 :(得分:0)

(function($){    
    $('.join_button').bind('click', function(e){
        e.preventDefault();
        console.log($(this).siblings('.sub_div1'));
    });
})(jQuery);