Javascript Jquery显示或隐藏子链接(如果可用)

Javascript Jquery显示或隐藏子链接(如果可用),javascript,jquery,Javascript,Jquery,我有一个关于Jquery的问题。如果我点击链接1,它没有任何ul.children,并且会添加class current_page_项(由于Wordpress会自动添加,所以不会显示在该代码中),那么链接2中的ul.children应该被隐藏 如果我点击链接2,它将有两个类page\u item\u当前有子类\u page\u item,在这种情况下,应该显示ul.子类。我试过下面的代码,我知道这是绝对错误的。请给我你的建议。非常感谢 if($(.navigation).hasClass(页面

我有一个关于Jquery的问题。如果我点击链接1,它没有任何
ul.children
,并且会添加class current_page_项(由于Wordpress会自动添加,所以不会显示在该代码中),那么链接2中的
ul.children
应该被隐藏

如果我点击链接2,它将有两个类
page\u item\u当前有子类\u page\u item
,在这种情况下,应该显示
ul.子类
。我试过下面的代码,我知道这是绝对错误的。请给我你的建议。非常感谢

if($(.navigation).hasClass(页面项目有子项)){
(.navigation.page_item_有_children.children).hide();
}else if($(.navigation).hasClass(页面项目有子项)&&(.navigation).hasClass(当前页面项目)){
(.navigation.page_item_有_children.children).show();
}


简单地隐藏所有嵌套的ul元素,然后简单地显示单击的元素的子元素怎么样

$(“.navigation li”)。每个(函数(){
//首次加载时,隐藏所有嵌套菜单。
$(this.children(“ul”).hide();
if(localStorage.menuNumber){
$(“.navigation li”).eq(localStorage.menuNumber.children().show();
}
})
.on(“单击”,函数(){
//单击任何顶级ul时,隐藏
//嵌套菜单将显示当前菜单。
$(this.parent().children().find(“ul”).hide();
$(this.children().show();
//我们也要坚持这个选择,,
//如果用户刷新。。。
localStorage.menuNumber=$(this).index;
});


简单地隐藏所有嵌套的ul元素,然后简单地显示单击的元素的子元素怎么样

$(“.navigation li”)。每个(函数(){
//首次加载时,隐藏所有嵌套菜单。
$(this.children(“ul”).hide();
if(localStorage.menuNumber){
$(“.navigation li”).eq(localStorage.menuNumber.children().show();
}
})
.on(“单击”,函数(){
//单击任何顶级ul时,隐藏
//嵌套菜单将显示当前菜单。
$(this.parent().children().find(“ul”).hide();
$(this.children().show();
//我们也要坚持这个选择,,
//如果用户刷新。。。
localStorage.menuNumber=$(this).index;
});


此解决方案更适合您的场景(根据评论编辑):

$(.navigation li”)。在(“单击”,函数()上{
if($(this).hasClass(“page\u item\u有子项”)&&($(this).hasClass(“当前页面\u item”)){
$(“.navigation.children”).show();
}否则{
$(“.navigation.children”).hide();
}
});


此解决方案更适合您的场景(根据评论编辑):

$(.navigation li”)。在(“单击”,函数()上{
if($(this).hasClass(“page\u item\u有子项”)&&($(this).hasClass(“当前页面\u item”)){
$(“.navigation.children”).show();
}否则{
$(“.navigation.children”).hide();
}
});


首先,在所有javascript选择器中,选择器名称周围需要某种引号。第二件事,在每个if语句中,不使用$()来选择nav元素。小事情把我们绊倒了…谢谢你的评论。我正在学习Jquery和java,所以我仍然对它有兴趣。你有什么好的资源可以通过练习来学习Jquery吗?我已经在谷歌上搜索过了,但如果你有,请分享。Sitepoint有很多好书,看看他们的“忍者新手”系列。真的,尽管如此,我是jQuery最初的beta测试人员之一,参加了剑桥的第一次jQueryCon,仍然拥有这件t恤!下来练习…谢谢。我正在检查:)更新了它以包括localStorage,但stackoverflow有用于访问localStorage的安全块。所以它也是一把小提琴。最好的!首先,在所有javascript选择器中,选择器名称周围都需要一些引号。第二件事,在每个if语句中,不使用$()来选择nav元素。小事情把我们绊倒了…谢谢你的评论。我正在学习Jquery和java,所以我仍然对它有兴趣。你有什么好的资源可以通过练习来学习Jquery吗?我已经在谷歌上搜索过了,但如果你有,请分享。Sitepoint有很多好书,看看他们的“忍者新手”系列。真的,尽管如此,我是jQuery最初的beta测试人员之一,参加了剑桥的第一次jQueryCon,仍然拥有这件t恤!下来练习…谢谢。我正在检查:)更新了它以包括localStorage,但stackoverflow有用于访问localStorage的安全块。所以它也是一把小提琴。最好的!如何编辑代码以使其更好地工作?就好像我在Link1中,我按了刷新浏览器
u.children
将显示,s