jquery选择崩溃所有ul元素减一

时间:2010-11-25 10:56:30

标签: jquery

我有以下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");

2 个答案:

答案 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课程会更容易。如果您使用相同内容的嵌套链接,它还有助于阻止可能的未来问题。