我遇到一个奇怪的问题,检查我刚用.wrap()
创建的div是否可见。我正在包装一些div并使用ID作为目标。我已经过测试,以确保点击实际上是使用alert()
注册的,而且是。
这是代码。
//Leftbar jQuery
$('ul.leftnav').wrap('<div id="leftnav-wrap" class="five columns alpha" />');
$('#leftnav-wrap').prepend('<div class="arrow" />');
$('#content').has('#leftnav-wrap').find('#page').wrap('<div class="eleven columns omega" />');
//Mobile Leftbar
$('h4.mobile.toggle').click(function(){
if ($('#leftnav-wrap').is(':hidden')){
$(this).addClass('active');
$('#leftnav-wrap').addClass('active');
}
else{
$(this).removeClass('active');
$('#leftnav-wrap').removeClass('active');
}
});
我编码的内容是否存在内在错误?它不会切换它所假设的任何活动类,并且我有另一个工作正常,只是它没有针对刚刚由.wrap()
创建的ID。
JS在这里:jsfiddle.net/ZD7hz。不切换任何类
答案 0 :(得分:0)
所以,这就是问题所在。它无法找到一个隐藏的div来添加一个类,它也找不到一个可见的div来删除该类。所以点击什么也没做。
我不得不先用CSS隐藏leftnav,然后为.active
状态添加一个类,以便再次显示它。然后,切换工作正常......
糟糕!
修正了jsFiddle在这里:http://jsfiddle.net/ZD7hz/1/