jQuery 객체를 문자열로 어떻게 변환합니까?
답변
나는 당신이 완전한 HTML 문자열을 요구한다고 가정합니다. 이 경우 다음과 같은 방법으로 트릭을 수행 할 수 있습니다.
$('<div>').append($('#item-of-interest').clone()).html();
여기서는 더 자세히 설명 하지만 본질적으로 관심있는 항목을 감싸고 조작하고 제거하고 HTML을 가져 오기 위해 새 노드를 만듭니다.
문자열 표현 바로 뒤에 있다면으로 이동하십시오 new String(obj)
.
최신 정보
2009 년에 원래의 답변을 썼습니다. 2014 년 현재 대부분의 주요 브라우저 outerHTML
는 기본 속성 (예 : Firefox 및 Internet Explorer 참조 )으로 지원하므로 다음을 수행 할 수 있습니다.
$('#item-of-interest').prop('outerHTML');
답변
jQuery 1.6에서 이것은 더 우아한 솔루션 인 것 같습니다.
$('#element-of-interest').prop('outerHTML');
답변
.get (0)을 사용하여 기본 요소를 잡고 outerHTML 속성을 가져옵니다.
var $elem = $('<a href="#">Some element</a>');
console.log("HTML is: " + $elem.get(0).outerHTML);
답변
좀 더 구체적으로 할 수 있습니까? 태그 안에 HTML 을 가져 오려고하면 다음과 같이 할 수 있습니다.
HTML 스 니펫 :
<p><b>This is some text</b></p>
jQuery :
var txt = $('p').html(); // Value of text is <b>This is some text</b>
답변
HTML 노드 (객체)에서 사용할 수있는 속성 및 메서드를 찾는 가장 좋은 방법은 다음과 같은 작업을 수행하는 것입니다.
console.log($("#my-node"));
jQuery 1.6 이상에서는 outerHTML을 사용하여 문자열 출력에 HTML 태그를 포함시킬 수 있습니다.
var node = $("#my-node").outerHTML;
답변
jQuery가 여기에 있습니다.
jQuery.fn.goodOLauterHTML= function() {
return $('<a></a>').append( this.clone() ).html();
}
모든 HTML 자료를 반환하십시오.
$('div' /*elys with HTML text stuff that you want */ ).goodOLauterHTML(); // alerts tags and all
답변
이것은 나를 위해 잘 작동하는 것 같습니다 :
$("#id")[0].outerHTML