2009-06-11 9 views
16

मैं jQuery चयन से पिछले या अगले तत्व को कैसे प्राप्त कर सकता हूं?चयन से अगले या पिछले तत्व प्राप्त करने के लिए jQuery का उपयोग

असल में, मैं तत्वों का एक सेट करना होगा, सभी आदानों कहते हैं:

$('input') 

जब मैं एक एकल इनपुट है, मैं भी पिछले और अगले इनपुट प्राप्त करने की आवश्यकता। कुछ की तरह:

$(this).prev('input') 
$(this).next('input') 

हालांकि, आदानों भाई बहन नहीं हैं और मैं सिर्फ अगले डोम तत्व नहीं करना चाहती। मैं jQuery चयन में अगला तत्व चाहता हूं (इस मामले में इनपुट)।


मैं जानता हूँ कि मैं

.each(function(... 

के साथ एक jQuery चयन के माध्यम से पुनरावृति कर सकते हैं लेकिन मैं पहले और बाद में सभी तत्वों का, सिर्फ एक पर जाने के लिए आवश्यक नहीं है।

तत्वों को भी गतिशील रूप से आदेश दिया जाएगा (jQuery UI सॉर्टेबल का उपयोग करके)।

+0

इसलिए अगले, बच्चों और पिछले एक माता पिता हैं? – TStamper

+0

वे क्रमबद्ध के लिए अलग-अलग डिवी कंटेनरों में हैं। – chrismar035

उत्तर

18

आप कुछ इस तरह कर सकता है:

var inp = $('input'); 

var index = inp.index(this); 
var next = inp[index+1]; 
var prev = inp[index-1]; 

ध्यान दें कि prev और next, जैसे इस jQuery वस्तुओं नहीं हैं, लेकिन डोम अब आपत्ति है। उन्हें jQuery ऑब्जेक्ट्स बनाने के लिए आपको उन्हें $() फ़ंक्शन में लपेटने की आवश्यकता है।

+0

पूरी तरह से काम किया! धन्यवाद! – chrismar035

8

के रूप में आप के लिए आवश्यक jQuery समर्थन में बनाया गया है,

$($('input')[0]).next('input') 

next

$($('input')[0]).prev('input') 

previous

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