jQuery의 replaceWith ()와 html ()의 차이점은 무엇입니까?


145

HTML을 매개 변수로 전달할 때 jQuery의 replaceWith () 및 html () 함수의 차이점은 무엇입니까?


2
이것은 나를 도왔다! jquery를 사용하여 레이블의 텍스트를 동적으로 변경하려고했지만이 스레드가 분명히 도움이되었습니다. 감사!
HereToLearn_

답변:


289

이 HTML 코드를 보자 :

<div id="mydiv">Hello World</div>

하기:

$('#mydiv').html('Aloha World');

결과는 다음과 같습니다.

<div id="mydiv">Aloha World</div>

하기:

$('#mydiv').replaceWith('Aloha World');

결과는 다음과 같습니다.

Aloha World

따라서 html () 은 요소의 내용을 대체하고 replaceWith () 는 실제 요소를 대체합니다.


1
좋은 설명입니다!
Luis Gouveia

31

replaceWith ()는 현재 요소를 대체하지만 html ()은 단순히 내용을 대체합니다.

replaceWith ()는 실제로 요소를 삭제하는 것이 아니라 DOM에서 요소를 제거하고 컬렉션에서 반환합니다.

Peter의 예 : http://jsbin.com/ofirip/2


3
replaceWith ()가 실제로 요소를 삭제하지 않는다는 것을 적어두면 +1이 매우 유용합니다. 나는 이것을 이해하지 못했습니다!
Peter

2
사실이지만 여전히 존재합니다. DOM에는 없으므로 표시되지 않지만 여전히 유효한 HTML입니다. 증명 : jsbin.com/ofirip/2
cgp

1
그래 이건 사실이야. 예를 들어 주셔서 감사합니다. DOM에서 가비지 수집을 제거하여 본질적으로 내 관점에서 삭제하는 것으로 생각했습니다. 그러나 당신은 기술적으로 정확합니다. 나는 그것을 제거하고 -1이것이 모두에게 도움이되기를 바랍니다. :)
Peter

1
참고 사항에 대해 감사합니다. 이전 요소를 반환하는 replaceWith ()는 디버깅에 약간의 좌절감을주었습니다. (
dain

2
네,이 기능은 대체 요소를 반환 난 그냥 실현, 지금은 적어도 30 분 동안이 싸움 봤는데, 나는 다음과 같은 코드로 새 반환을 기다리고 있었다 : var $form = $target.closest('tr').replaceWith(html) 그것은 밝혀 $form교체하기 전에 요소가 포함되어 있습니다. 한숨
Pawel Krakowiak

5

html () 및 replaceWith () Jquery 함수를 사용하는 방법에는 두 가지가 있습니다.

<div id="test_id">
   <p>My Content</p>
</div>

1.) html () 대 replaceWith ()

var html = $('#test_id p').html(); "내 콘텐츠"를 반환합니다

그러나의 var replaceWith = $('#test_id p').replaceWith();전체 DOM 객체를 반환합니다 <p>My Content</p>.


2.) html ( 'value') vs replaceWith ( 'value')

$('#test_id p').html('<h1>H1 content</h1>'); 당신에게 다음과 같은 설명을 드리겠습니다.

<div id="test_id">
  <p><h1>H1 content</h1></p>
</div>

그러나 $('#test_id p').replaceWith('<h1>H1 content</h1>');의지는 다음과 같은 결론을 내릴 것입니다.

<div id="test_id">
      <h1>H1 content</h1>
</div>

2

오래된 질문이지만 이것은 누군가를 도울 수 있습니다.

HTML이 유효하지 않은 경우 Internet Explorer 및 Chrome / Firefox에서 이러한 기능이 작동하는 방식에는 약간의 차이가 있습니다.

HTML을 정리하면 문서화 된대로 작동합니다.

( </center>내 저녁을 닫지 않았어!)


6
그래서 더 이상 센터를 사용해서는 안됩니다. : p
Romain Tribes

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.