2010-08-19 2 views
8

javascript로 HTML을 변환 할 수있는 도구가 있다면 누구도 알 수 있습니까? 예를 들어html을 javascript로 변환하십시오.

:

<div> 
</div> 

aDiv = document.createElement('div'); 
document.appendChild(aDiv); 

로 변환 것 등

내가 UI 구성 요소에 대한 몇 가지 HTML 템플릿을하고있는 중이 야하고있어 프로토 타입 MooShell을 사용하고

. 구성 요소의 html을 빌드하는 javascript를 자동으로 생성 할 수 있으면 좋을 것입니다.

감사

+1

흥미로운 질문입니다. jQuery에는 DOM 객체를 빌드하기위한'$ ("

")'와 같은 명령을 받아 들일 수 있으므로 내장 된 구문 분석 엔진이 있어야한다고 생각합니다. 어쩌면 거기에 추가 정보가 있습니다. –

+1

흥미로운 아이디어이지만 반복 된 DOM 트랜잭션, 특히 대규모 계층 구조의 경우 비용이 많이 듭니다. – Konrad

+0

그리고 문서가 유효하지 않은 경우? 어쨌든 bruteforce regexping으로 "쉽게"이루어질 수 있습니다 :) –

답변

0

, 나는이 문제를 예전의 좋은 방법을 해결 것이다 (내가보기 엔 사건을 생각하는) 그런 도구가 없었다 경우 : 내 자신의 파서를 구축가.

-2

상황에 대해 잘 모르겠지만 HTML에 구성 요소가 있다면 이벤트, ID 및 바인딩이 있어야합니다 ... 그래서이 코드를 생성 할 수있는 인간과 유사한 천재 스크립트는 없다고 생각합니다. . 그것에 덧붙여서, 문제는 매우 구체적입니다. 일부 IT 기업의 어딘가에있을 수도 있지만 웹 개발자가 매일 jQuery처럼 사용하는 것이 아닙니다.

0

나는 다른 사람들이 이것을하는 방법에 대한 많은 조언을했지만, 내 두 센트는 한 가지를 염두에 두어야한다는 것을 알 수 있습니다.

클라이언트 쪽 자바 스크립트를 사용하여 DOM에 요소를 삽입/제거/수정하는 경우 jQuery와 같은 프레임 워크를 사용하면 추가 한 DOM 요소를 호출하고 조작 할 수 없습니다 즉석에서.

가장 좋은 방법은 jQuery Live 플러그인을 사용하여 검색하는 것입니다.

0

PrototypeJS 프레임 워크는 HTML 코드를 구문 분석 할 수있는 삽입() 메소드를 가지고, 그래서 당신은 같은 것을 수행 할 수 있습니다

$$('body')[0].insert(stringWithYourHTMLCode); 

을 또는 당신은 콘텐츠에 대한 컨테이너를 정의

$('containerId').insert(stringWithYourHTMLCode); 
+0

그건 그가 묻는 것이 아닙니다. – Chris

2

John Resig의 pure javascript HTML parser을 살펴 보시기 바랍니다. HTML 용 SAX 스타일 파서로 구성되며 XML serializer, DOM 작성기 및 DOM 작성자가 포함됩니다. 각각은 HTML 문자열을 입력으로받습니다.

특히 HTMLtoDOM 메서드는 HTML의 입력 문자열에 대해 DOM을 작성하는 데 필요한 javascript 문자열을 반환하기 위해 쉽게 용도를 바꿀 수 있습니다.