jquery隐藏/显示问题

时间:2011-05-22 11:28:10

标签: jquery html

我有一个如下所示的列表:

<span id="contacts_tab_contacts_list_list"> 
                <li><span id="contact_35">John</span> 
                </li> 
                <li><span id="contact_36">Ron a</span> 
                </li> 
                <li><span id="contact_33">Ron b</span> 
                </li> 
                <li><span id="contact_34">35</span> 
                </li> 
                <li><span id="contact_39">33</span> 
                </li> 
                <li><span id="contact_37">66</span> 
                </li> 
                <li><span id="contact_38">77</span>
...
</span>

我使用<input>jQuery过滤列表。 我尝试使用这两条jQuery行来做到这一点:

$("#contacts_tab_contacts_list_list").children().hide();
$("#contacts_tab_contacts_list_list:contains('" + searchValue + "')").show();

例如,在搜索框中输入Ron会使contact_36contact_33成为列表中唯一可见的元素。 hide()部分有效。 show()没有。

我做错了什么? (假设searchValue具有正确的值,在本例中为Ron

有更好的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:5)

尝试将选择范围缩小到嵌套的span元素:

$("#contacts_tab_contacts_list_list li span:contains('" + searchValue + "')").show();