jQuery:select给定类的所有元素,除了特定的ID

这可能很简单。

我想select给定类thisClass所有元素,除了id是thisId

即相当于(其中 – /意味着删除):

 $(".thisClass"-"#thisId").doAction(); 

使用:不是select器

 $(".thisclass:not(#thisid)").doAction(); 

如果您有多个ID或select器,只需使用逗号分隔符,另外:

(".thisclass:not(#thisid,#thatid)").doAction();

或者采取.not()方法

https://api.jquery.com/not/

 $(".thisClass").not("#thisId").doAction(); 

$(".thisClass[id!='thisId']").doAction();

关于select器的文档: http : //api.jquery.com/category/selectors/

我只是扔在一个JS(ES6)的答案,以防有人在寻找它:

 Array.from(document.querySelectorAll(".myClass:not(#myId)")).forEach((el,i) => { doSomething(el); } 

你可以像下面的例子一样使用.not函数来删除具有确切id的项目,包含特定单词的id,以单词开头的id等等。见http://www.w3schools.com/jquery/jquery_ref_selectors .asp有关jQueryselect器的更多信息。

通过确切ID忽略:

  $(".thisClass").not('[id="thisId"]').doAction(); 

忽略包含单词“Id”的ID

 $(".thisClass").not('[id*="Id"]').doAction(); 

忽略以“我的”开头的ID

 $(".thisClass").not('[id^="my"]').doAction(); 

使用.not()方法select整个元素也是一个选项。

如果您想直接对该元素执行另一个操作,这种方法可能有用。

 $(".thisClass").not($("#thisId")[0].doAnotherAction()).doAction();