jquery 隐藏/显示问题

发布于 2024-11-09 03:50:28 字数 1315 浏览 0 评论 0原文

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

<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_36contact_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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半透明的墙 2024-11-16 03:50:28

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

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

Try narrowing down the selection to the nested span elements:

$("#contacts_tab_contacts_list_list li span:contains('" + searchValue + "')").show();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文