2010-07-28 10 views
11

कैसे ले जाएं एचटीएमएल तत्व को दूसरे तत्व में कैसे ले जाएं। ध्यान दें, मेरा मतलब यह नहीं है कि तत्व की स्थिति बढ़ती जा रही है। इस एचटीएमएल कोड पर विचार करें:एचटीएमएल तत्व

<div id="target"></div> 
<span id="to_be_moved"></span> 

मैं ले जाना चाहते हैं "to_be_moved" करने के लिए 'लक्ष्य' तो 'लक्ष्य' बच्चा है "to_be_moved" अब। तो परिणाम इस तरह होना चाहिए:

<div id="target"><span id="to_be_moved"></span></div> 

मैं गूगल में खोज की है (विशेष रूप से प्रोटोटाइप ढांचे का उपयोग कर), लेकिन सब मुझे मिल गया है स्थिति चलती, नहीं के रूप में मैं चाहता हूँ। पहेले धन्यवाद दें।

उत्तर

19
document.getElementById('target').appendChild( document.getElementById('to_be_moved')) 
+0

"To_be_moved" के बारे में क्या? क्या यह अभी भी इसकी मूल जगह में है? – iroel

+0

यह नहीं होना चाहिए। कोशिश करो? –

+2

हू? तत्व का अभिभावक बदल जाएगा, इसलिए यह "स्थानांतरित" है। नोड को "हटाया नहीं गया" हालांकि यह अब डोम पेड़ में कहीं और है। –

0

मान लिया जाये कि आप देशी डोम तत्वों के साथ काम कर रहे हैं, जावास्क्रिप्ट विधि .appendChild आपकी आवश्यकताओं के अनुरूप होगा।

देशी जावास्क्रिप्ट में, document.getElementByID शायद डोम तत्व प्राप्त करने में आपका सर्वश्रेष्ठ दांव

var target = document.getElementById('target') 
document.getElementById('to_be_moved').appendChild(target) 
6
$("target").insert($("to_be_moved").remove()); 

, अधिक पठनीय रास्ते के लिए है, इसलिए ... या ...

var moveIt = $("to_be_moved").remove(); 
$("target").insert(moveIt); 
+0

मेरे पास एक प्रश्न है। "To_be_moved" संपत्ति, मूल्य आदि के बारे में क्या? क्या यह अभी भी चलने से पहले जैसा है (क्लोन देशी डीओएम विधि की तरह)? – iroel

+0

@iroel हां, ['निकालें '] (http://www.prototypejs.org/api/element/remove) विधि डीओएम से तत्व ले जाती है और इसे वापस कर देती है। यह एक क्लोन नहीं है, यह * तत्व * है। –

+1

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

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