我有以下html:
<div>
<span>Tecnology</span>
<ul id="menu">
<li>
<a href="#">Multimedia</a>
<ul>
<li>Videocameras</li>
<li>Cameras</li>
<li>MP3 and MP4</li>
</ul>
</li>
<li>
<a href="#">Telephony</a>
<ul>
<li>Mobile Phones</li>
</ul>
</li>
</ul>
</div>
对于另一只手,我有一个javascript变量值,可以是多媒体“或”电话“或其他主题......
我需要一个jquery句子来选择下面的ul到<a href>
文本与这些主题匹配(以显示当前主题,并折叠所有其余部分)。
到目前为止,这个jquery句子没有用。
$("#menu ul").first().first().filter("not:contains('"+themename+"')").css("display", "none");
答案 0 :(得分:0)
这样的事情:
$("#menu ul").not($("#menu a:contains(" + themename + ")").next());
答案 1 :(得分:0)
不确定哪个元素有id菜单,但假设它是周围的div,那么要选择并隐藏非匹配列表,你需要这样的东西:
$('#menu a').not(':contains(" + themename + ")').next().hide();
并显示相关的李:
$('#menu a:contains(" + themename + ")').next().show();
实际上你可以通过隐藏所有的li然后显示你想要的那个来简化它:
$('#menu ul ul').hide();
$('#menu a:contains(" + themename + ")').next().show();
说实话,如果你给不同级别的li和ul课程会更容易。如果您使用相同内容的嵌套链接,它还有助于阻止可能的未来问题。