2012-06-19 19 views
6

क्या तत्व अपने माता-पिता के अंदर एक तत्व को स्थानांतरित करने का एक आसान तरीका है?jQuery के अंदर jQuery चालक डीओएम तत्व

इस तरह ...

से:

<div class="test">hello 1</div> 
<div class="test">hello 2</div> 
<div class="test">hello 3</div> 

रहे हैं:

<div class="test">hello 1</div> 
<div class="test">hello 3</div> 
<div class="test">hello 2</div> 

या तो एक विशिष्ट में एक div UP या DOWN एक कदम, या appendTo के सूचकांक का उपयोग कर ले जाने के पद।

+0

की विशेषताएं क्या हैं दो तत्व? आप स्थानांतरित करने के लिए तत्व का चयन कैसे करते हैं, और आपको इसे कहां स्थानांतरित करने की आवश्यकता है? –

+0

मैं इसे एक क्लिक हैंडलर के साथ चुनता हूं। फिर मैं क्लिक किए गए तत्व की अनुक्रमणिका का उपयोग करता हूं। – user1121487

+0

ठीक है, तो क्लिक किए गए तत्व कहां जाना चाहिए? सूची में अंतिम तत्व के बाद इसे स्थानांतरित किया जाना चाहिए? आप नई स्थिति कैसे निर्धारित करते हैं? –

उत्तर

12

आप (एक jQuery समारोह के रूप में यहाँ) .prev() और .next() इस तरह उपयोग करने के लिए सक्षम होना चाहिए:

$.fn.moveUp = function() { 
    $.each(this, function() { 
     $(this).after($(this).prev()); 
    }); 
}; 
$.fn.moveDown = function() { 
    $.each(this, function() { 
     $(this).before($(this).next()); 
    }); 
}; 
$("div:eq(2)").moveUp(); //Would move hello 3 up 
$("div:eq(0)").moveDown(); //Would move hello 1 down 

JSFiddle Demo

+0

महान काम करता है, धन्यवाद! – user1121487

3

को याद है कि

$("div:eq(2)").after($("div:eq(0)")); 

या

$("div:eq(2)").before($("div:eq(1)")) 

का प्रयास करें: eq() शून्य आधारित है।

+0

क्या आप अभी '$ (" div: eq (2) ") नहीं कर सकते थे। ($ (" Div: eq (3) ")) 'या वह काम नहीं करेगा? – h2ooooooo

+0

धन्यवाद! मेरा जवाब अपडेट किया गया ... – 472084

+0

धन्यवाद, बहुत अच्छा काम करता है! – user1121487

2
var child = $('#parent div'); // keep reference for further use 
child.eq(2).insertBefore(child.eq(1)); 

DEMO

+0

बहुत अच्छा काम करता है धन्यवाद! – user1121487

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