2012-06-05 4 views
33

나는 컨테이너에 추가하거나 추가 할 단일 요소가있을 때 $ .add와 $ .append의 차이점을 궁금해하고 있습니다. .

+7

* 추가 ​​: * http://api.jquery.com/add/; * Append : * http://api.jquery.com/append/; 추가 : 일치하는 요소 집합에 요소를 추가합니다. where Append : 매개 변수로 지정된 내용을 일치하는 요소 집합의 각 요소 끝에 삽입합니다. ** <오, 나는 다운 유권자가 아닙니다. ** ** B-) –

+2

_ "최고의 문서를 얻을 수 없습니다"_ - 어디에서 보았습니까? jQuery doco는 매우 명확하게 설명합니다 ... – nnnnnn

+1

나는 인터넷을 살펴 봤습니다. 그리고 예 JQuery 문서에서이를 설명합니다. 그러나 모든 사람들이 그곳에 설명 된 것을 모두 이해하는 것은 기술적 인 것이 아닙니다. 그것이이 포럼이 존재하는 이유입니다. @nnnnnn –

답변

22

.add() 메소드는 DOM 요소 세트를 나타내는 jQuery 오브젝트가 주어지면 해당 요소의 합집합과 메소드에 전달되는 jQuery 오브젝트로 새 jQuery 오브젝트를 구성합니다. 하지만 DOM에 요소를 삽입하지 않습니다. 즉, .add()을 사용하면 요소가 DOM에 추가되지만 페이지에 표시하려면 insertion/append 메서드를 사용하여 페이지에 삽입해야합니다.

+0

설명해 주셔서 감사합니다. 그게 아주 도움이. –

+1

더 자세히 설명해주세요. 당신은 말합니다 ... "그러나 요소를 DOM에 삽입하지 않습니다. 즉, .add()를 사용하면 요소가 DOM에 추가됩니다 ..."음, DOM에 삽입 되나요? – chharvey

4

추가 사전에

감사는 jQuery 오브젝트에 요소, 그것은 DOM

추가]에 추가하지 않습니다 추가하는 아이로 DOM에 요소를 추가합니다.

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'); 

는 DOM의 모든 선택 divp를 선택 추가합니다.

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"); 

또는 위의 것을 응축하여 사용하십시오. 추가()

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

.append()

Will DOM에 추가 할 새 요소를 만들고 기존 지정된 요소의 자식으로 나타납니다.

<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

각 단락에 단락이 추가되는 이유는 무엇입니까? 그들은 div가 아닙니다. – chharvey

+0

@tismle : 색상을 '녹색'으로 변경하셨습니까? 또한 Append() 결과가 잘못되었습니다. Append()를 사용하면 하위 노드가 추가됩니다. 일명 P 요소는 이후의 각 div에 배치됩니다. – brooklynsweb