2011-10-06 20 views
47

क्या कोई अगला तत्व मौजूद है या नहीं यह जांचने का कोई तरीका है? मेरा कोड जांचें:jQuery: जांच कर रहा है कि अगला तत्व मौजूद है

if($("#people .making-of .mask ul li.current").next("li") != null) { 
    alert("Exists"); 
} 
else { 
    alert("Dont exists"); 
} 

मैं क्या गलत कर रहा हूं? आपका बहुत बहुत धन्यवाद!

उत्तर

116

क्या आपने .next('li').length पर देखने का प्रयास किया है?

+0

यह था ! धन्यवाद! –

+0

कोई समस्या नहीं है। मैं खुशी से मदद कर सकता है। – George

+0

कुछ बेवकूफ कारणों के लिए मैंने .length() – TheHamstring

2
if($("#people .making-of .mask ul li.current").next("li").length > 0) { 
    alert("Exists"); 
} 
else { 
    alert("Dont exists"); 
} 
20

उपयोग jQuery .is(), .is() का उपयोग कर आप भी जाँच कर सकते हैं क्या टैग, वर्ग या आईडी अगले तत्व है?

if($("#people .making-of .mask ul li.current").next().is('li')) { 
    alert("Exists"); 
} 
else { 
    alert("Dont exists"); 
} 
14

छोटा विधि बस है:

if($(...).next('li')[0]) { 

के बाद से jQuery कार्यों हमेशा एक jQuery वस्तु लौटने के लिए, यह null के लिए कभी नहीं बराबर है। लेकिन एक सरणी की तरह एक jQuery ऑब्जेक्ट तक पहुंचने जैसे आप काम करते हैं जैसे कि DOM ऑब्जेक्ट्स की एक सरणी का उपयोग कर रहे हैं, इसलिए [0] पहले मिलान किए गए DOM तत्व या null खींचेंगे। 0 कार्यों के विरुद्ध .length() की जांच भी कर रहा है।

1

उपर्युक्त पोस्ट की तरह, आपको आइटम की लंबाई की जांच करने की आवश्यकता है। Jquery.next() हमेशा एक jQuery वस्तु वापस आ जाएगी, लेकिन कोई अगले आइटम है, तो यह 0.

if($("#people .making-of .mask ul li.current").next("li").length > 0) { 
    alert("Exists"); 
} 
else { 
    alert("Dont exists"); 
} 
1

की लंबाई होगा jQuery में length विधि का उपयोग करें:

if($(...).next().length > 0) { 
    alert("Exists.") 
} else { 
    alert("Doesn't exist!") 
} 
+0

यह कम से कम 3.1.0 में, काम नहीं करता है। – Agamemnus

+0

(आपको '' लम्बाई'' संपत्ति का उपयोग करने की आवश्यकता है।) – Agamemnus

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