programing

jQuery: 외부 html()

skycolor 2023. 5. 27. 09:59
반응형

jQuery: 외부 html()

우리가 가지고 있는 것이 무엇인지 상상해 보세요.

<div id="xxx"><p>Hello World</p></div>

.dll 함수를 다음과 같이 호출할 경우:

$("#xxx").html();

다음을 얻을 수 있습니다.

<p>Hello World</p>

하지만 나는 받아야 합니다:

<div id="xxx"><p>Hello World</p></div>

그래서, 내가 해야 할 일은?#xxx쯤에 다른 포장지를 추가하려고 생각하지만, 이것은 좋은 생각이 아닙니다.

표준 DOM 기능만 사용하면 됩니다.

$('#xxx')[0].outerHTML

또는 다음과 같은 기능을 사용하여 조금 더 단순합니다.

$('#xxx').prop('outerHTML')

outerHTML잘 지원됩니다. Mozilla 또는 caniuse에서 확인합니다.

임시 요소를 만든 다음clone()그리고.append():

$('<div>').append($('#xxx').clone()).html();

형제 솔루션 없음:

var x = $('#xxx').parent().html();
alert(x);

범용 솔루션:

// no cloning necessary    
var x = $('#xxx').wrapAll('<div>').parent().html(); 
alert(x);

Fiddle here: http://jsfiddle.net/ezmilhouse/Mv76a/

래퍼를 추가하지 않으려면 대상 ID를 알고 있으므로 수동으로 코드를 추가하면 됩니다.

var myID = "xxx";

var newCode = "<div id='"+myID+"'>"+$("#"+myID).html()+"</div>";

언급URL : https://stackoverflow.com/questions/5744207/jquery-outer-html

반응형