2016-11-11 122 views
0

toggleClass不工作的特定的div

$('.open').click(function() { 
 
     $('.sidebar').toggleClass('sidebar-open'); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span class="open">Open</span> 
 
    <div class="sidebar"> 
 
     <div class="sidebar-inner"> 
 
     </div> 
 
    </div>

这是工作完全正常,除了无处不在一个特定的页面。在Firefox检查器中,我可以看到突出显示“侧边栏”类,因为它的目标是针对性的,但它不会添加“侧边栏打开”类...

要测试一切,我尝试将目标更改为侧栏 - 内部的div,而且这个工作非常好。

有谁知道什么可以怎么回事?

+0

@AniketSahrawat但是我有一个相同的在另一个页面上设置并且不会导致任何问题? – user500665

+2

'我可以看到,因为它是有针对性的被突出了“侧边栏”级,但它不添加“侧边栏打开” class' - 也许你不小心添加了单击处理两次 –

+0

@AniketSahrawat“开放”是,是的东西点击。 “侧边栏打开”添加到侧边栏 – user500665

回答

1

,你可以看到的元素被强调了检查标签,这意味着它正在改变,并且您已经正确添加事件(后文件准备),并且有在代码本身没有错误

如果你碰巧有两次添加相同的点击事件,那么最终的结果将是完全按照你所观察到

3

这里有一个(普拉克)https://plnkr.co/edit/9GAJnyJY6rqEbNHtjWv4?p=preview]蒙山完全相同的代码和它的对铬和FF正常工作。

确保您执行单击HTML载入后绑定。也许包裹在$(document).ready这样的绑定:

$(document).ready(function(){ 
     $('.open').click(function() { 
     $('.sidebar').toggleClass('sidebar-open'); 
     }); 
    })