Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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:在Div内的嵌套列表菜单中查找和隐藏单亲链接-使用contains();_Javascript_Jquery_Hide_Contains - Fatal编程技术网

Javascript jQuery:在Div内的嵌套列表菜单中查找和隐藏单亲链接-使用contains();

Javascript jQuery:在Div内的嵌套列表菜单中查找和隐藏单亲链接-使用contains();,javascript,jquery,hide,contains,Javascript,Jquery,Hide,Contains,我有一个网站的CMS有非常有限的菜单控制。因此,我正试图用jQuery解决这些问题,以显示我想要的菜单。我知道它仍然会在HTML中,但只要它以我想要的方式显示,至少对于我的标准来说是可以的 当前正在讨论的菜单看起来像这样 <div id="sidemenu"> <ul> <li class="childlist"> <a href="#">GET RID OF THIS PARENT&

我有一个网站的CMS有非常有限的菜单控制。因此,我正试图用jQuery解决这些问题,以显示我想要的菜单。我知道它仍然会在HTML中,但只要它以我想要的方式显示,至少对于我的标准来说是可以的

当前正在讨论的菜单看起来像这样

<div id="sidemenu">
    <ul>
        <li class="childlist">
                    <a href="#">GET RID OF THIS PARENT</a>
                        <ul>
                           <li>Show this</li>
                           <li>Show this</li>
                           <li>Show this</li>
                        </ul>
        </li>
    </ul>
</div>
但这会使我在Chrome的控制台中尝试找到解决方案的页面崩溃

我将是第一个承认我的javascript很糟糕的人,所以任何帮助都会得到很好的回应


提前感谢。

您的代码应该是

$side = $('#sidemenu');
$hidethis = $side.find(':contains('GET RID OF THIS PARENT')');
$hidethis.hide();
试试这个:

jQuery("#slidemenu").find("a:contains('GIT RID OF THIS PARENT')").hide();
找到第一个实例

jQuery("#slidemenu > .childlist:first").find("a:contains('GIT RID OF THIS PARENT')").hide();
在所有孩子中循环:

jQuery("#slidemenu").find(".childlist").each(function() {
  var $childListBranch = jQuery(this);
  $childListBranch.find("a:contains('GIT RID OF THIS PARENT')").hide();
});

你需要瞄准你想要隐藏的东西。例如,如果要隐藏已删除此父文本的链接,可以将目标设置为:contains。如果要隐藏其父级,则需要将目标侧菜单:包含指向其父级。下面是代码示例

    //Hide a link
$("a:contains('GET RID OF THIS PARENT')").hide();

    //Hide its parent
$("#sidemenu:contains('GET RID OF THIS PARENT')").hide();

您想隐藏整个侧菜单还是只隐藏包含文本的链接?我想隐藏顶部的父链接,但显示它的子链接。i、 e.隐藏“摆脱此父项”并显示“显示此项”“显示此项”“显示此项”,但在ul li结构中将其提升一级。所有这些答案都很好,并按照要求隐藏了链接,但我不认为我可以通过这种方法实现我想要的,所以我将不得不考虑另一种选择。这是用于Interspire购物车中生成的菜单,它的菜单选项对于选择要显示的内容不是很好。我可能需要硬编码我想要的菜单。谢谢。用一个更好的例子来说明我想要实现的目标:菜单结构应该是类似于儿童T恤衫、毛衣和夹克衫的上衣。我希望不展示上衣,只展示T恤、毛衣、夹克,然后展示这些类别的孩子。显示TOPS的子孙孙类别,但不要显示TOPS。你可以更新你的真实代码,这样你就可以得到更准确的答案。
    //Hide a link
$("a:contains('GET RID OF THIS PARENT')").hide();

    //Hide its parent
$("#sidemenu:contains('GET RID OF THIS PARENT')").hide();