prosource

jQuery 개체를 문자열로 변환하는 방법은 무엇입니까?

probook 2023. 5. 23. 21:59
반응형

jQuery 개체를 문자열로 변환하는 방법은 무엇입니까?

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)을 사용하여 기본 요소를 가져오고 외부 요소를 가져옵니다.HTML 속성:

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+에서 외부 HTML을 사용하여 문자열 출력에 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

허용된 답변은 텍스트 노드를 포함하지 않습니다(정의되지 않은 내용은 인쇄됨).

이 코드 조각은 이 문제를 해결합니다.

var htmlElements = $('<p><a href="http://google.com">google</a></p>↵↵<p><a href="http://bing.com">bing</a></p>'),
    htmlString = '';
    
htmlElements.each(function () {
    var element = $(this).get(0);

    if (element.nodeType === Node.ELEMENT_NODE) {
        htmlString += element.outerHTML;
    }
    else if (element.nodeType === Node.TEXT_NODE) {
        htmlString += element.nodeValue;
    }
});

alert('String html: ' + htmlString);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

.html()을 사용하기 위해 DOM을 복제하고 추가할 필요가 없으므로 다음을 수행할 수 있습니다.

$('#item-of-interest').wrap('<div></div>').html()

다음을 사용할 수 있습니다.jQuery.makeArray(obj)유틸리티 기능:

var obj = $('<p />',{'class':'className'}).html('peekaboo');
var objArr = $.makeArray(obj);
var plainText = objArr[0];

HTML 요소를 다른 곳으로 전달하고 요소에 구문 분석하기 위해 문자열화하려면 요소에 대한 고유 쿼리를 만들어 보십시오.

// 'e' is a circular object that can't be stringify
var e = document.getElementById('MyElement')

// now 'e_str' is a unique query for this element that can be stringify 
var e_str = e.tagName
  + ( e.id != "" ? "#" + e.id : "")
  + ( e.className != "" ? "." + e.className.replace(' ','.') : "");

//now you can stringify your element to JSON string
var e_json = JSON.stringify({
  'element': e_str
})

보다

//parse it back to an object
var obj = JSON.parse( e_json )

//finally connect the 'obj.element' varible to it's element
obj.element = document.querySelector( obj.element )

//now the 'obj.element' is the actual element and you can click it for example:
obj.element.click();
new String(myobj)

전체 개체를 문자열로 직렬화하려면 JSON을 사용합니다.

언급URL : https://stackoverflow.com/questions/652763/how-do-you-convert-a-jquery-object-into-a-string

반응형