jquery 隐藏/显示问题
我有一个如下所示的列表:
<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>
我有一个 ,我用它来使用
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
)
有更好的方法吗?
谢谢!
I have a list that looks like this:
<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>
I have a <input>
that I use to filter the list with jQuery
.
I try to do it using these two jQuery
lines:
$("#contacts_tab_contacts_list_list").children().hide();
$("#contacts_tab_contacts_list_list:contains('" + searchValue + "')").show();
So for example, typing Ron
into the search box will make contact_36
and contact_33
be the only visible elements in the list.
the hide()
part works. the show()
doesn't.
What am I doing wrong? (Assume searchValue
has the correct value, in this case Ron
)
Is there a better way to do this?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试将选择范围缩小到嵌套的
span
元素:Try narrowing down the selection to the nested
span
elements: