DOM 요소를 jQuery 요소로 변환하려면 어떻게해야합니까?


277

document.createElement ()로 요소를 만들고 있습니다. 이제 Jquery 객체 만 취하는 함수에 어떻게 전달할 수 있습니까?

$("#id") 

요소가 아직 페이지에 렌더링되지 않았으므로 사용할 수 없습니다.


2
이 quesion은 stackoverflow에서 가장 좋은 질문으로 수여되어야합니다
Oliver

답변:


445
var elm = document.createElement("div");
var jelm = $(elm);//convert to jQuery Element
var htmlElm = jelm[0];//convert to HTML Element

10
jquery는 문자열 선택기뿐만 아니라 기존 jquery 객체 또는 유효한 dom 객체를 기본 $ () 쿼리 함수의 인수로 사용하기 때문에 작동합니다.
Samuel Meacham

그 반대는 어떻습니까? jquery 요소가 있고 이것을 DOM 요소로 변환하고 싶습니까?
Ryan Sampson

2
역을 수행 할 수 있습니다 johnjianfang.blogspot.com/2009/04/...
라이언 샘슨을

매우 유용합니다
Oliver Oliver

elm에 DOM 노드 모음이 포함되어 있으면 @Marius가 작동합니까?
daremkd

16

jQuery를 사용하여 요소를 생성하는 것은 어떻습니까? 예 :

$("<div></div>")

페이지에 추가 할 준비가 된 새 div 요소를 만듭니다. 더 짧아 질 수 있습니다

$("<div>")

그런 다음 필요한 명령을 연결하고 이벤트 핸들러를 설정하여 DOM에 추가 할 수 있습니다. 예를 들어

$('<div id="myid">Div Content</div>')
    .bind('click', function(e) { /* event handler here */ })
    .appendTo('#myOtherDiv');

2
실제로 코드를 변경할 수없는 곳에서 요소를 가져옵니다
Tanmoy

2

지금까지 내가 만든 최고의 솔루션 :

function convertHtmlToJQueryObject(html){
    var htmlDOMObject = new DOMParser().parseFromString(html, "text/html");
    return $(htmlDOMObject.documentElement);
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.