복붙노트

[JQUERY] 당신은 어떻게 문자열로 jQuery를 개체를 변환합니까?

JQUERY

당신은 어떻게 문자열로 jQuery를 개체를 변환합니까?

해결법


  1. 1.난 당신이 전체 HTML 문자열을 요구하고 가정합니다. 그런 경우에는이 같은 트릭을 할 것입니다 :

    난 당신이 전체 HTML 문자열을 요구하고 가정합니다. 그런 경우에는이 같은 트릭을 할 것입니다 :

    $('<div>').append($('#item-of-interest').clone()).html(); 
    

    이 여기에 더 자세히 설명되어 있지만, 기본적으로 당신이 관심있는 항목을 바꿈 조작을 수행 제거하고, HTML을 잡아 새 노드를 확인합니다.

    당신은 그냥 문자열 표현 후 경우, 다음 새로운 문자열 (OBJ)과 함께 할 것입니다.

    나는 대부분의 주요 브라우저는 이제 기본 속성으로 outerHTML에를 지원, 2014 2009로 원래의 답을 썼다 (예를 들어, 파이어 폭스와 인터넷 익스플로러), 당신이 할 수 있습니다 :

    $('#item-of-interest').prop('outerHTML');
    

  2. 2.jQuery를 1.6, 이것은 더 우아한 해결책이 될 것 같다 :

    jQuery를 1.6, 이것은 더 우아한 해결책이 될 것 같다 :

    $('#element-of-interest').prop('outerHTML');
    

  3. 3.그냥 기본 요소를 잡고, 그 outerHTML에 속성을 가져 갔지 (0)를 사용합니다 :

    그냥 기본 요소를 잡고, 그 outerHTML에 속성을 가져 갔지 (0)를 사용합니다 :

    var $elem = $('<a href="#">Some element</a>');
    console.log("HTML is: " + $elem.get(0).outerHTML);
    

  4. 4.당신은 좀 더의 특정을 할 수 있습니까? 당신이 태그의 HTML 내부를 얻을하려는 경우 당신은 이런 식으로 뭔가를 할 수 있습니다 :

    당신은 좀 더의 특정을 할 수 있습니까? 당신이 태그의 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>
    

  5. 5.가장 좋은 방법은 속성과 메서드는 HTML 노드 (객체)에 사용할 수있는 찾아 것은 같은 일을 할 것입니다 :

    가장 좋은 방법은 속성과 메서드는 HTML 노드 (객체)에 사용할 수있는 찾아 것은 같은 일을 할 것입니다 :

    console.log($("#my-node"));
    

    jQuery를 1.6에서 당신은 당신의 문자열 출력에서 ​​HTML 태그를 포함 할 outerHTML에 사용할 수 있습니다 :

    var node = $("#my-node").outerHTML;
    

  6. 6.jQuery를 그렇게 여기에 있습니다 :

    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
    

  7. 7.이것은 나를 위해 잘 작동 것 같다 :

    이것은 나를 위해 잘 작동 것 같다 :

    $("#id")[0].outerHTML
    

  8. 8.텍스트 노드를 포함하지 않습니다 허용 대답 (정의되지 않은이 인쇄됩니다).

    텍스트 노드를 포함하지 않습니다 허용 대답 (정의되지 않은이 인쇄됩니다).

    이 코드 조각을 해결해를 :

    VAR htmlElements = $ ( '

    구글 ↵↵

    ') htmlString = ""; htmlElements.each (함수 () { VAR 소자 = $ (이) 갔지 (0); 경우 (element.nodeType === Node.ELEMENT_NODE) ​​{ htmlString + = element.outerHTML; } 다른 경우 (element.nodeType === Node.TEXT_NODE) ​​{ htmlString + = element.nodeValue; } }); 경고 ( '문자열 HTML :'+ htmlString); <스크립트 SRC = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">


  9. 9.복제에 필요하고 사용 들이게된다 ()에 DOM에 추가하지, 당신은 할 수 있습니다 :

    복제에 필요하고 사용 들이게된다 ()에 DOM에 추가하지, 당신은 할 수 있습니다 :

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

  10. 10.jQuery.makeArray (OBJ) 유틸리티 기능을 사용하는 것이 가능할 수있다 :

    jQuery.makeArray (OBJ) 유틸리티 기능을 사용하는 것이 가능할 수있다 :

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

  11. 11.당신은 요소에 대한 고유 쿼리를 작성하여 어디를 통과하고 요소의 시도에 다시 구문 분석하기 위해 HTML 요소를 캐릭터 라인 화하려는 경우 :

    당신은 요소에 대한 고유 쿼리를 작성하여 어디를 통과하고 요소의 시도에 다시 구문 분석하기 위해 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();
    

  12. 12.

    new String(myobj)
    

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

  13. from https://stackoverflow.com/questions/652763/how-do-you-convert-a-jquery-object-into-a-string by cc-by-sa and MIT license