“全部但不是” jQuery 选择器

发布于 2024-12-13 02:19:15 字数 130 浏览 0 评论 0原文

我可以选择(使用 jQuery)HTML 标记中的所有 div,如下所示:

$('div')

但我想从以上选择。

我怎样才能使用 Jquery 函数来做到这一点?

I can select (using jQuery) all the divs in a HTML markup as follows:

$('div')

But I want to exclude a particular div (say having id="myid") from the above selection.

How can I do this using Jquery functions?

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

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

发布评论

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

评论(7

往事风中埋 2024-12-20 02:19:16

简单:

$('div').not('#myid');

使用 .not() 将删除与给定选择器匹配的元素从 $('div') 返回的集合中获取它。

您还可以使用 :not() 选择器:

$('div:not(#myid)');

两者选择器做同样的事情,但是 :not() 更快,大概是因为 jQuery 的选择器引擎 Sizzle可以将其优化为原生 .querySelectorAll() 调用。

Simple:

$('div').not('#myid');

Using .not() will remove elements matched by the selector given to it from the set returned by $('div').

You can also use the :not() selector:

$('div:not(#myid)');

Both selectors do the same thing, however :not() is faster, presumably because jQuery's selector engine Sizzle can optimise it into a native .querySelectorAll() call.

御守 2024-12-20 02:19:16
var els = toArray(document.getElementsByTagName("div"));
els.splice(els.indexOf(document.getElementById("someId"), 1);

你可以用老式的方式来做。如此简单的事情不需要 jQuery。

专业提示

一组 dom 元素只是一个数组,因此请在 NodeList 上使用您最喜欢的 toArray 方法。

向集合中添加元素只需

set.push.apply(set, arrOfElements);

从集合中删除元素只需

set.splice(set.indexOf(el), 1) code>

您无法轻松地一次删除多个元素:(

var els = toArray(document.getElementsByTagName("div"));
els.splice(els.indexOf(document.getElementById("someId"), 1);

You could just do it the old fashioned way. No need for jQuery with something so simple.

Pro tips:

A set of dom elements is just an array, so use your favourite toArray method on a NodeList.

Adding elements to a set is just

set.push.apply(set, arrOfElements);

Removing an element from a set is

set.splice(set.indexOf(el), 1)

You can't easily remove multiple elements at once :(

美人如玉 2024-12-20 02:19:16
$("div:not(#myid)")

[doc]

$("div").not("#myid")

[doc]

是选择除一个 id 之外的所有 id 的主要方法,

您可以看到 此处演示

$("div:not(#myid)")

[doc]

or

$("div").not("#myid")

[doc]

are main ways to select all but one id

You can see demo here

空气里的味道 2024-12-20 02:19:16
   var elements =  $('div').not('#myid');

这将包括除 id 为“myid”的 div 之外的所有 div

   var elements =  $('div').not('#myid');

This will include all the divs except the one with id 'myid'

吃不饱 2024-12-20 02:19:16
$('div:not(#myid)');

我想这就是你需要的。

$('div:not(#myid)');

this is what you need i think.

朕就是辣么酷 2024-12-20 02:19:16

应该这样做:

$('div:not("#myid")')

That should do it:

$('div:not("#myid")')
久光 2024-12-20 02:19:16

您使用 jQuery 库的 .not 属性:

$('div').not('#myDiv').css('background-color', '#000000');

此处。 div #myDiv 将为白色。

You use the .not property of the jQuery library:

$('div').not('#myDiv').css('background-color', '#000000');

See it in action here. The div #myDiv will be white.

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