给定值列表的 jQuery 反向选择器

发布于 2024-11-02 17:41:42 字数 516 浏览 0 评论 0原文

我需要能够根据列表删除元素。这一定很容易做到,但我在这里并没有只见树木。

我想在一个列表中传递多个值。删除列表中没有的元素。

    <select id="productList">
    <option value="CD-6">6 Month CD 10K</option>
    <option value="CD-12">12 Month CD 10K</option>
    <option value="CD-24" selected="selected">24 Month CD 10K</option>
</select>

那是一个静态列表。我想留下“CD-12,CD-24”并删除 CD-6。

$("#productList option:not:contains('CD-12, CD-24')").remove();

没工作,有人有想法吗?

I need to be able to remove elements based on a list. This has to be easy to do but I'm not seeing the forest through the trees here.

I want to pass in multiple values in a single list. Remove elements not in the list.

    <select id="productList">
    <option value="CD-6">6 Month CD 10K</option>
    <option value="CD-12">12 Month CD 10K</option>
    <option value="CD-24" selected="selected">24 Month CD 10K</option>
</select>

That is a static list. I want to leave lets say "CD-12, CD-24" and remove CD-6.

$("#productList option:not:contains('CD-12, CD-24')").remove();

Not working, anyone got an idea?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

把梦留给海 2024-11-09 17:41:42

使用 contains() 不是一个好主意,您应该测试 value 属性。

$("#productList option:not([value='CD-12']):not([value='CD-24'])").remove()

Using contains() is not a good idea, you should be testing the value attribute.

$("#productList option:not([value='CD-12']):not([value='CD-24'])").remove()
无需解释 2024-11-09 17:41:42
$("#productList option:not([value='CD-12'],[value='CD-24'])");

这可以正常工作并给出所需的输出。仅 CD-12 和 CD-24 保留在列表框中。

$("#productList option:not([value='CD-12'],[value='CD-24'])");

This works properly and gives the desired output. Only CD-12 and CD-24 remain in the listbox.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文