Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .在jQuery中查找closes元素_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript .在jQuery中查找closes元素

Javascript .在jQuery中查找closes元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在制作一个下拉菜单。我在每个项目上添加了一个隐藏图标。然后,一旦菜单生成,我想检查并找到哪些项目有子菜单,并删除这些项目的隐藏类 我似乎无法让这段代码正常工作 var tags = $("li > ul.sub-menu").each(function(){ $(this).parent("li").closest('i.hidden').removeClass("hidden") }) 这是html/css 我用的是IE8,所以现在我找不到合适的小提琴

我正在制作一个下拉菜单。我在每个项目上添加了一个隐藏图标。然后,一旦菜单生成,我想检查并找到哪些项目有子菜单,并删除这些项目的
隐藏类

我似乎无法让这段代码正常工作

    var tags = $("li > ul.sub-menu").each(function(){
      $(this).parent("li").closest('i.hidden').removeClass("hidden")
    })
这是html/css


我用的是IE8,所以现在我找不到合适的小提琴

在循环中,您必须找到具有以下语句的第一个元素:

 $(this).find('i.hidden:first')

如果我理解正确,您要做的是取消隐藏任何具有子菜单的菜单/子菜单的插入符号。以下内容应能满足您的需求:

var tags = $(".sub-menu").each(function(){
 $(this).closest('li').find('a > span > i:first').removeClass("hidden")
})

我抛出了一个快速的代码笔,在这里演示了这一点:

当你控制台时,你会得到什么。log($(this)。nestest('I.hidden'))
nestest()
查找父链,而不是兄弟、子节点或其他节点。
nestest()
查找元素的祖先,而
元素不应包含
;也许您打算使用
find()
搜索子体?没有你的HTML,我们只能猜测。顺便说一句,你不是真正的蝙蝠侠。真正的蝙蝠侠会让阿尔弗雷德去发现:)html在pastebinHey中,它在工作。我误解了“亲密”是如何完全发挥作用的。谢谢