jQuery .next('div') 切换不起作用

Posted

技术标签:

【中文标题】jQuery .next(\'div\') 切换不起作用【英文标题】:jQuery .next('div') toggle not workingjQuery .next('div') 切换不起作用 【发布时间】:2013-05-17 19:36:59 【问题描述】:

我在使用 jQuery 切换同级 div 的可见性时遇到问题。我想要做的是在单击 .detailsbtn 链接时显示/隐藏这个兄弟 div。如果我在“.detailsbtn”之后立即移动.projdetails div,则脚本可以工作,但我需要将其放在第二个链接之后。

html 的结构如下:

<a href="javascript:void();" id="hp" class="btn btn-info detailsbtn">Project Details</a>
<a href="javascript:void();" class="btn btn-success">Launch Website</a>
<div class="projdetails">This is the hp details</div>  

jQuery如下:

$('.projdetails').hide();

$('.detailsbtn').click(function () 
    $(this).next('div').toggle();
); 

【问题讨论】:

【参考方案1】:

使用 .siblings() 而不是 .next(),因为 next 只查找紧随其后的兄弟姐妹

$(this).siblings('div.projdetails').toggle();

http://api.jquery.com/siblings/

【讨论】:

@iztel 如果你能接受答案,如果它对你有帮助的话,那就太好了。

以上是关于jQuery .next('div') 切换不起作用的主要内容,如果未能解决你的问题,请参考以下文章

.next() 和 .addClass() 在 jquery 中不起作用

jQuery .next() 不起作用,元素保持为空

此用于切换 div 的 JQuery 代码在 IE7 中不起作用,但在其他浏览器中起作用

带切换的JQuery扩展div

jQuery - live() 不能与附加 div 中的 next() 一起使用

jQuery Keydown Next、NextAll、父问题