2010-02-11 19 views
134

मेरे पास एक निश्चित टेक्स्टबॉक्स है और मैं इसके बाद एक div जोड़ना चाहता हूं। मैंने .append() फ़ंक्शन का प्रयास किया है, लेकिन यह केवल तत्व में div जोड़ता है।jQuery: किसी अन्य तत्व के बाद तत्व जोड़ें

उदाहरण के लिए, मेरे पास है:

और मैं बदलने के लिए है कि में हैं:

<input type="text" id="bla" /><div id="space"></div> 

उत्तर

228

after() विधि का उपयोग कर प्रयास करें:

$('#bla').after('<div id="space"></div>'); 

Documentation

+5

.after() और .insertAfter() विधियां एक ही कार्य करती हैं। – Rifat

+7

यह सही है, लेकिन यह उस तरीके पर निर्भर करता है जिस पर आप इसे कोड करना चाहते हैं। मेरे पास आमतौर पर पहले से चयनित '#bla' इनपुट होता है, और फिर बाद में अतिरिक्त सामग्री जोड़ें। हालांकि मेरी प्राथमिकता हालांकि, मुझे यकीन नहीं है कि किसी भी विधि के पास गति लाभ है या नहीं। – Rowan

6

सबसे पहले, input तत्व एक बंद टैग (http://www.w3.org/TR/html401/interact/forms.html#edef-INPUT से नहीं करना चाहिए था: द एंड टैग: वर्जित )।

दूसरी बात, आप after(), नहीं append() समारोह की जरूरत है।

+0

सही के बाद तत्व जोड़ें, लेकिन यह क्या होता है जब मैं .append() फ़ंक्शन की कोशिश है। – skerit

+2

यदि यह एक्सएचटीएमएल है तो इनपुट तत्व बंद होना चाहिए (लेकिन अंत टैग के साथ नहीं)। – CiscoIPPhone

+2

एचटीएमएल 4 '' बंद नहीं होना चाहिए। –

30

.insertAfter() 
यहाँ

कोशिश

$(content).insertAfter('#bla'); 
+12

आपका कोड '$ ('

') जैसा नहीं होना चाहिए।" $ ('# Bla') के बजाय .insertAfter ('# bla') 'डालें। इसके बाद (सामग्री); '? – Rowan

0

हल jQuery: एक और तत्व

<script> 
$("p").append("<strong>Hello</strong>"); 
</script> 

या

<script type="text/javascript"> 
jQuery(document).ready(function(){ 
jQuery (".sidebar_cart") .append("<a href='http://#'>Continue Shopping</a>"); 
}); 
</script> 
संबंधित मुद्दे