我在下面创建了一个Tabs功能。
//Tabs ///
$('.tabs').each(function() {
var $tabs = $(this);
$tabs.find('.section-body > div:not(:first-child)').hide().end().find('.section-head a:eq(0)').addClass('active').end().find('.section-head a').on('click', function() {
$tabs.find('.section-head a').removeClass('active').end().find('.section-body > div:eq(' + $(this).index() + ')').show().siblings().hide();
$(this).addClass('active');
});
});
这是HTML:
<div class="section tabs">
<div class="section-head">
<a>Section A</a>
<a>Section B</a>
</div>
<div class="section-body">
<div>
<p>Section A</p>
</div>
<div>
<p>Section B</p>
</div>
</div>
</div>
这个工作正常,但是,我想在其中使用网格系统插件,插件在这里:http://loai.directory/Loai%20Aptana/assets/js/grid-system.js
因此,为了使用Grid系统插件,选项卡的HTML将如下所示:
<div class="section tabs">
<div class="section-head">
<a>Section A</a>
<a>Section B</a>
</div>
<div class="section-body">
<div>
<div class="grid" data-columns><!--Grid-->
<div>Section</div>
<div>Section</div>
<div>Section</div>
</div>
</div>
<div>
<div class="grid" data-columns><!--Grid-->
<div>Section</div>
<div>Section</div>
<div>Section</div>
</div>
</div>
</div>
</div>
一旦我这样做,我就会开始收到此错误:Uncaught TypeError: Cannot read property '1' of null
进行实时预览,访问http://loai.directory/Loai%20Aptana/profile并检查元素/打开浏览器控制台以查看它。
我花了好几个小时尝试调试并修复它。我尝试过的一件事就是删除选项卡JS功能然后网格系统工作!所以我知道这与两个插件不能很好地协同工作有关。
在进一步配音后,我发现网格系统正在尝试找到<div class="grid" data-columns>
,因此它可以将效果应用于它,但是,制表符功能隐藏了第二个制表符div中的那个: / p>
<div>
<div class="grid" data-columns><!--Grid-->
<div>Section</div>
<div>Section</div>
<div>Section</div>
</div>
</div>
但是,我的意思是div仍然在DOM中,因此它应该是可访问的?怎么了?我该如何解决?