与jquery下拉菜单的问题
问题描述:
基本上我有一些链接,其中包括一些其他的链接,我试图仅显示父链接,当一个点击父链接的子链接应该出现,当一次点击父链接再次子链接应该消失,与jquery下拉菜单的问题
代码工作为先点击它可以打开相关的子链接,但我怎么做,当我再次父点击链接他们消失,
感谢帮助。
jQuery.noConflict();
jQuery(document).ready(function(e) {
jQuery('.nav-container ul.level0 li.level1 a').click(function(e) {
e.preventDefault();
jQuery(this).css({'background':'#000000','color':'#ffffff'});
jQuery('.nav-container ul.level0 li.level2 a').css('display','block');
});
});
答
一个简单的方法来做到这一点将创建一个属性读取您点击的项目。
jQuery.noConflict();
jQuery(document).ready(function(e) {
jQuery('.nav-container ul.level0 li.level1 a').click(function(e) {
if(jQuery(this).attr('sel') != 'true')
{
e.preventDefault();
jQuery(this).attr('sel','true');
jQuery(this).css({'background':'#000000','color':'#ffffff'});
jQuery('.nav-container ul.level0 li.level2 a').css('display','block');
} else {
jQuery(this).attr('sel','');
// do close code
}
});
});
凡属性“SEL”可能是别的东西,如“推”或“下降” ......像“选择”只是可能要使用的看点,“点击”,或其他可能混淆HTML。我也不会使用'class',因为你可以在一个对象上有多个类,它会返回这个。
<div class="selected item"></div>
jQuery(this).attr('class') = 'selected item';
+0
性能评论。将jQuery(this)或$(this)替换为变量会更快。所以在你的点击函数的顶部做一个var $ el = $(this),然后引用这个变量。 – Keltex 2011-02-02 15:45:15
哇,那很容易,我觉得这个问题很愚蠢。 – amir 2011-02-02 15:26:07