0

如何在 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

4 回答 4

2
$('a.title').on('click', function(e){  
    e.preventDefault();
    $(this).next('.data').toggle();
});​
于 2012-08-08T06:07:39.140 回答
2

像这样的东西:

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

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

});
于 2012-08-08T06:06:47.493 回答
1

你在追求这样的事情吗

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

$('a.title').click(function(event){
            event.preventDefault();
    $(this).next('.data').toggle();
});​
于 2012-08-08T06:05:22.687 回答
0

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

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

    event.preventDefault();       
});
于 2012-08-08T06:07:14.790 回答