2012-04-18 15 views
34

मैं वर पी के साथ कुछ करना चाहता हूँ:"अगर नहीं कक्षा" jQuery चयनकर्ता कैसे लिखें?

var p = $("li:last"); 

लेकिन मैं अगर वहाँ एक निश्चित वर्ग संलग्न है कुछ भी करने को नहीं करना चाहती। मैंने कोशिश की: इस तरह नहीं:

var p = $("li:last:not(.Class)"); 

यह काम नहीं करता है। मैं अपने var में कैसे रोक सकता हूँ?

+2

बस 'स्पष्ट करने के लिए 'चयनकर्ता और' नहीं। 'वही व्यवहार करना चाहिए। मतलब, 'var p = $ ("li: last")। नहीं ("कक्षा"); 'और' var p = $ (' li: last: नहीं (.Class) ')' वैसे ही काम करना चाहिए। >> अपना कोड काम कर रहे हैं http://jsfiddle.net/skram/76NNp/ << –

उत्तर

48
var p = $("li:last").not(".Class"); 

http://api.jquery.com/not/

+4

': नहीं (.Class) 'वही काम करना चाहिए, है ना? –

+0

धन्यवाद, यह काम करता है :) – Youss

+1

@ वेगा क्योंकि ओपी भी 'आखिरी' का उपयोग कर रहा है, इंजन में कुछ भ्रम हो सकता है जिसके लिए पहले लागू किया गया है। – Blazemonger

13

असल :not एक चयनकर्ता के रूप में काम करता है।

आप अंतिम तत्व वर्ग नहीं है का चयन करना चाहते हैं, तो इस

var p = $("li:not(.Class):last"); 

यह चयन करता है पहले li कि उस वर्ग की जरूरत नहीं है, और तो के अंतिम उपयोग करें उन्हें। See it working here

यह पूरी तरह से स्पष्ट करने के लिए, इन बराबर हैं:

var p = $("li:not(.Class):last"); 
var p = $("li").not(".Class").last(); 

और, भी, इन बराबर हैं: नहीं:

var p = $("li:last:not(.Class)"); 
var p = $("li").last().not(".Class"); 
+1

ओपी केवल अंतिम तत्व का चयन करना चाहता है अगर यह 'क्लास' नहीं है, और यदि ऐसा है, तो कुछ भी नहीं चुनें। कम से कम मैं इसे कैसे पढ़ता हूं। – Blazemonger

+0

@ mblase75 यह सही है – Youss

+1

मैंने कोड में थोड़ा सा स्पष्ट होने के लिए कुछ और स्पष्टीकरण जोड़ा। – cambraca

2
var p = $("li:last"); 
if (!p.hasClass('Class')){ 
//some stuff 
} 

http://api.jquery.com/hasClass/

+0

यह वह है जो मेरे लिए काम करता है। तत्व के रूप में विशेष रूप से उपयोगी एक से अधिक वर्ग था। –

संबंधित मुद्दे