jquery next plus 切换不起作用。这是一个错误吗?

Posted

技术标签:

【中文标题】jquery next plus 切换不起作用。这是一个错误吗?【英文标题】:jquery next plus toggle is not working. Is this a bug? 【发布时间】:2011-04-22 23:02:53 【问题描述】:

以下代码在 IE7 或 IE8 中不起作用...有人知道为什么吗?谢谢!

$('.change_settings_btn').live('click', function()
    var link = $(this);
    link.next('.change_settings_box').toggle(0, function()
        link.toggleClass('change_on');
    );
);

【问题讨论】:

您的 html 会有所帮助,但可以尝试使用 nextAll() 而不是 next() 您确定要切换按钮的类别吗? link.toggleClass('change_on'); 不会更改下一个框,而是更改 btn 本身。要切换该框,您应该使用 Jason 提供的代码。 【参考方案1】:

为什么不这样做:

$('.change_settings_btn').live('click', function()
    var link = $(this);
    link.next('.change_settings_box').toggleClass('change_on');
);

虽然我不能肯定地说,因为我不知道你的 HTML 是什么样子或者你到底想做什么。

【讨论】:

啊,好吧,也许我解释得不够好。这是切换 .change_settings_box 的可见性,然后还更改 .change_settings_button 的类。它适用于除 IE7 和 IE8 之外的所有浏览器。感谢您的帮助! 你到底想做什么? 我在一页上有多个更改设置菜单。我正在尝试切换 .change_settings_box 的可见性,然后在单击时切换 .change_settings_button 的类。真的很简单。它只是不能在 IE7 或 8 中工作......很奇怪。

以上是关于jquery next plus 切换不起作用。这是一个错误吗?的主要内容,如果未能解决你的问题,请参考以下文章

.next plus .toggle 在 IE8 中不起作用

jQuery .next 不起作用

为啥 next() 在 jquery 中不起作用

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

为啥我的带有“$(this).next”的 JavaScript/jQuery 脚本不起作用?

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