我有一个像这样的列表:
<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_36”和“contact_33”这两个元素可见。其中,“hide()”部分是有效的,而“show()”部分则无效。
请问我做错了什么?(假设“searchValue”已经被正确赋值为“Ron”)
是否有更好的方法来实现这个功能呢?
谢谢!
#contacts_tab_contacts_list_list
元素 :) - karim79