jquery, वर्ग द्वारा अगला तत्व खोजें


102

मैं कक्षा द्वारा अगला तत्व कैसे खोज सकता हूं।

मैंने कोशिश की, $(obj).next('.class');लेकिन यह केवल $(obj)अभिभावकों में कक्षाएं देता है । मुझे अगले तत्व को पूरे वर्ग नाम से कहीं भी ले जाने की आवश्यकता है। क्योंकि मेरा कोड जैसा दिखता है

<table>
<tr><td><div class="class">First</div></td></tr>
<tr><td><div class="class">Second</div></td></tr>
</table>

क्या यह संभव है?

जवाबों:


145

इस मामले में आपको <tr> तत्कालीन उपयोग तक जाने की आवश्यकता है .next(), जैसे:

$(obj).closest('tr').next().find('.class');

या अगर .classअंदर के बिना पंक्तियों के बीच में हो सकता है, तो आप .nextAll()इस तरह का उपयोग कर सकते हैं :

$(obj).closest('tr').nextAll(':has(.class):first').find('.class');

ऐसा करना आसान होगा: $ (obj) .closest ('tr')। nextAll ('वर्ग') [0];
StuR

2
@StuR - जो यहाँ काम नहीं करेगा, .nextAll () केवल भाई तत्वों पर दिखता है। आपको कुछ ऐसा चाहिए जो अगले <div> खोजने के लिए वंशजों को देखता है जो प्रश्न चाहता है।
निक Craver

1
और क्या होगा अगर उस HTMLObject से एक विशेषता प्राप्त करना चाहते हैं? जैसे$(obj).closest('tr').nextAll('.class')[0].attr('data-attribute');
डेनिस ब्रागा

आपको भी उपयोग करने की आवश्यकता हो सकती है: .parent ()।
Next

@NickCraver आप कमाल कर रहे हैं
पवित्र आत्मा

23

एक ही वर्ग के साथ अगला तत्व खोजने के लिए:

$(".class").eq( $(".class").index( $(element) ) + 1 )

13

आप इस परिदृश्य में अगले () का उपयोग नहीं कर सकते हैं, यदि आप दस्तावेज को देखते हैं तो यह कहता है:
अगला () मिलान किए गए तत्वों के सेट में प्रत्येक तत्व के तुरंत बाद प्राप्त करें । यदि एक चयनकर्ता प्रदान किया जाता है, तो यह चयनकर्ता से मेल खाने वाले अगले भाई को पुनः प्राप्त करता है।

इसलिए यदि दूसरा DIV उसी TD में था तो आप कोड कर सकते हैं:


// Won't work in your case
$(obj).next().filter('.class');

लेकिन जब से यह नहीं है, मैं अगले () का उपयोग करने के लिए एक बिंदु नहीं देखता। आप इसके बजाय कोड कर सकते हैं:

$(obj).parents('table').find('.class')


6
लेकिन यह अगला तत्व कैसे खोजता है। .find सभी तत्वों को लौटा देगा।
शशवत कुमार
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.