如何在jquery中选择这个子div

时间:2012-08-08 06:01:12

标签: jquery html

如何在jquery中选择“this”的子div 然后应用切换到它, 并同时禁用处理点击事件的链接效果?

这是html:

<a href="#" class="title">Link</a>   
<div class="data"> content here </div>
<a href="#" class="title">Link</a>    
<div class="data">
    content here
</div>

这是我的jquery代码:

$('a.title').each(function(event){  

    var selection = $(this).find('.data');

    $(this).click(function(event){
        $(div).toggle();
        event.preventDefault();
    });
});

我将其更改为此并且有效:

$('a.title').each(function(){
    $(this).click(function(event){
        var selection = $(this).parent().children('.data');
        $(selection).toggle();
        event.preventDefault()
    });
});

4 个答案:

答案 0 :(得分:2)

这样的事情:

$('a.title').click(function(event){

    var $selection = $(this).next('.data');
    event.preventDefault();
    $selection.toggle();              

});

答案 1 :(得分:2)

$('a.title').on('click', function(e){  
    e.preventDefault();
    $(this).next('.data').toggle();
});​

答案 2 :(得分:1)

你是否喜欢这样的事情

http://jsfiddle.net/pVKcm/1/

$('a.title').click(function(event){
            event.preventDefault();
    $(this).next('.data').toggle();
});​

答案 3 :(得分:0)

您不需要使用each()函数,jQuery将事件应用于所有匹配的元素。此外,您的div元素不是a元素的子元素。但是,要选择下一个div元素,您可以使用next()函数:

$('a.title').click(function(event){
    var selection = $(this).next('.data');
    selection.toggle(); 

    event.preventDefault();       
});