2012-06-05 16 views
33

मैं सोच रहा था और $ .add और $ .append के बीच क्या अंतर है, जब किसी भी तत्व को कंटेनर में जोड़ने या जोड़ने के लिए कोई अच्छा दस्तावेज नहीं मिल सका। ।

अग्रिम धन्यवाद

+7

* जोड़ें: * http://api.jquery.com/add/; * संलग्न करें: * http://api.jquery.com/append/; आगे: मिलान किए गए तत्वों के सेट में तत्व जोड़ें। जहां संलग्न करें: मिलान तत्वों के सेट में प्रत्येक तत्व के अंत तक, पैरामीटर द्वारा निर्दिष्ट सामग्री डालें। ** <ओह और मैं नीचे मतदाता नहीं हूं> ** बी-) –

+2

_ "कोई भी सर्वश्रेष्ठ दस्तावेज नहीं मिला" _ - आपने कहाँ देखा? JQuery डॉको इसे स्पष्ट रूप से स्पष्ट करता है ... – nnnnnn

+1

मैंने इंटरनेट से देखा है। और हाँ JQuery दस्तावेज यह बताता है। लेकिन हर कोई उस तकनीक को समझने के लिए नहीं है जो वहां समझाया गया है। यही कारण है कि ये मंच मौजूद हैं। @nnnnnn –

उत्तर

22

डीओएम तत्वों के एक सेट का प्रतिनिधित्व करने वाली एक jQuery ऑब्जेक्ट को देखते हुए, .add() विधि उन तत्वों के संघ से और एक विधि में पारित की गई एक नई jQuery ऑब्जेक्ट बनाती है। लेकिन यह तत्व को DOM में सम्मिलित नहीं करता है, यानी .add() का उपयोग करके तत्व को डीओएम में जोड़ा जाएगा, लेकिन इसे पृष्ठ में देखने के लिए आपको इसे insertion/append विधि का उपयोग करके पृष्ठ में डालना होगा।

+0

धन्यवाद। यह काफी उपयोगी है। –

+1

क्या आप आगे स्पष्टीकरण दे सकते हैं? आप कहते हैं "... लेकिन यह डीओएम में तत्व नहीं डालता है, यानी' .add() 'तत्व का उपयोग करके डीओएम में जोड़ा जाएगा ..." ठीक है, यह कौन है, क्या यह डोम में डाला जाता है या नहीं? – chharvey

4

जोड़े बस jQuery वस्तु के लिए तत्व है, यह डोम

संलग्न में नहीं जोड़ता है कहते हैं बच्चे के रूप में डोम में तत्व को जोड़ता है।

28

वे सभी संबंधित नहीं हैं।

.add()

मिलान किया तत्वों के सेट करने के लिए तत्वों जोड़ें।

उदा।

आप क्या करना चाहते हैं, तो

$('div').css('color':'red'); 
$('div').css('background-color':'yellow'); 
$('p').css('color':'red'); 

उसके बाद, आप कर सकते हैं,

$('div').css('background-color':'yellow').add('p').css('color':'red'); 

Reference

.append()

सम्मिलित सामग्री, निर्दिष्ट पैरामीटर द्वारा, मिलान तत्वों के सेट में प्रत्येक तत्व के अंत तक।

$('div').append('p'); 

सभी चयनित div डोम में पर p चयनित संलग्न कर देगा।

Reference

+0

उत्तर @Jashwant के लिए धन्यवाद। अब यह मुझे भी स्पष्ट है। प्रतिक्रिया प्राप्त करने के बाद। –

7

.add()

for example: 
<ul> 
    <li>list item 1</li> 
    <li>list item 2</li> 
    <li>list item 3</li> 
</ul> 
<p>a random paragraph</p> 

<li> तत्वों और लाल को <p> तत्व का रंग बदलने के लिए, आप लिख सकते हैं:

$("li").css("background-color", "green"); 
$("p").css("background-color", "green"); 

या उपरोक्त का उपयोग करके condensing। ऐड()

$("li").add("p").css("background-color", "green"); 

।संलग्न करें()

डीओएम में जोड़ने के लिए एक नया तत्व बनाएं और मौजूदा निर्दिष्ट तत्व में बच्चे के रूप में दिखाई देगा।

<div>one</div> 
<div>two</div> 

<ol> 
    <li>item1</li> 
    <li>item2</li> 
</ol> 

$("div").append('<p>'); 

परिणाम देगा में:

<div>one</div> 
<p></p> 
<div>two</div> 
<p></p> 

<ol> 
    <li>item1</li> 
    <p></p> 
    <li>item2</li> 
    <p></p> 
</ol> 
+0

+1 बहुत अच्छा और अच्छी तरह से निर्मित एक। –

+0

प्रत्येक सूची आइटम में अनुच्छेद क्यों जोड़ा जाएगा? वे divs नहीं हैं। – chharvey

+0

@ टिस्मल: क्या आपका मतलब है कि रंग को 'हरा' में बदलना है? इसके अलावा परिशिष्ट() परिणाम गलत है; परिशिष्ट() का उपयोग करके एक बच्चे नोड जोड़ता है, उर्फ ​​यह पी तत्व को प्रत्येक div के अंदर नहीं रखेगा। – brooklynsweb

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