如何在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()
});
});
答案 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)
你是否喜欢这样的事情
$('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();
});