2010-03-31 20 views
117

को छोड़कर किसी दिए गए वर्ग के सभी तत्वों का चयन करें, यह शायद बहुत आसान है।jQuery: किसी विशेष आईडी

मैं किसी वर्ग thisClass के सभी तत्वों, जहां आईडी thisId है, सिवाय इसके चयन करना चाहते हैं।

अर्थात कुछ के बराबर (जहां -/शून्य से हटाने का मतलब):

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

उत्तर

228

उपयोग :not selector

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

आप एक से अधिक आईडी या चयनकर्ताओं है, तो बस अलावा अल्पविराम सीमांकक का उपयोग करें,: चयनकर्ताओं पर

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

+2

यदि आप एक से अधिक कक्षाओं को बाहर करना चाहते हैं तो क्या होगा? THX – SoulMagnet

+12

प्रलेखन से: 'सभी चयनकर्ताओं को अंदर स्वीकार किया जाता है: नहीं(), उदाहरण के लिए:: नहीं (div a) और: नहीं (div, a)' तो बस अल्पविराम सीमित चयनकर्ताओं को एकाधिक '(" करने के लिए उपयोग करें। thisclass: नहीं (# thisid, # thatid) ")। doAction();' – Chausser

+0

इस तरह के एकल उद्धरण के साथ काम किया - $ ("। thisclass: not ('# thisid')")। doAction(); –

5

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

प्रलेखन: http://api.jquery.com/category/selectors/

+5

क्या आपका मतलब $ ("। यह क्लास [आईडी! = 'ThisId']") था।doAction(); ? – detay

+9

कोड नमूने में कोई गायब ']' है? – David

+0

ugly___________ – Imad

25

या ले। नहीं() विधि

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

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

'.not()' कोई चयनकर्ता नहीं है। यह एक समारोह है। लेकिन अन्य उत्तर उल्लेखों की तरह 'नहीं()' चयनकर्ता भी है। – WoIIe

2

एक पूरे तत्व का चयन के साथ .not() पद्धति का उपयोग करना भी एक विकल्प है।

यदि आप सीधे उस तत्व के साथ एक और कार्रवाई करना चाहते हैं तो यह तरीका उपयोगी हो सकता है।

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

आप .not समारोह निम्न उदाहरण की तरह इस्तेमाल कर सकते हैं आइटम एक सटीक आईडी है कि दूर करने के लिए, किसी विशिष्ट शब्द युक्त आईडी, आईडी एक शब्द के साथ शुरू, आदि ... अधिक जानकारी के लिए http://www.w3schools.com/jquery/jquery_ref_selectors.asp देखना jQuery चयनकर्ताओं पर।

सटीक आईडी के आधार पर ध्यान न दें:

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

पर ध्यान न दें आईडी के शब्द "ईद"

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

पर ध्यान न दें आईडी है कि "मेरी"

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

मैं हूँ के साथ शुरू होता है बस किसी जेएस (ईएस 6) के जवाब में फेंक दें, अगर कोई इसे ढूंढ रहा है:

Array.from(document.querySelectorAll(".myClass:not(#myId)")).forEach((el,i) => { 
    doSomething(el); 
} 
संबंधित मुद्दे