문제

나는 다음과 같은 문자열이 있습니다<html><body><div id="message">Hello World!</div></body></html> 그리고 HTML을 직접 구문 분석하지 않고 #MESSAGE 요소의 내용을 얻고 싶습니다.

나는 Gecko의 문자열에서 문서 개체를 만들 수 있다고 생각했지만 (이것은 Firefox 추가를위한 것입니다) 간단한 방법은 보이지 않습니다.

나는 a가 있음을 알아 차렸다 생성 서류 방법이지만 문자열을 사용하지 않습니다. 나는 그것을 제거해야했다 <html> 텍스트에서 나온 후 다시 물건을 가정하기 시작했습니다.

누구든지 아이디어가 있습니까? 감사.

편집 : 이것은 나에게 효과가있는 것 같습니다.

doc = document.implementation.createDocument( "http://www.w3.org/1999/xhtml", "html", null );
doc.firstChild.innerHTML = '<html><body><div id="message">Hello World!</div></body></html>';
node = doc.getElementById( "message" ); 
alert( node.innerHTML );
도움이 되었습니까?

해결책

문자열은 어디서 얻습니까? XML이라면 사용으로 도망 갈 수 있습니다. DOMParser.

그렇지 않으면 HTML 문서를 만들어야합니다. https://developer.mozilla.org/en/parsing_html_from_chrome.

그냥 사용하는 사실 createDocument 사람들이 이번에는 더 복잡한 솔루션을 사용했기 때문에 작품은 의심스러워 보입니다.

다른 팁

내 질문에 대답하는 것을 좋아하지 않지만 이것은 나에게 효과가있는 것 같습니다.

doc = document.implementation.createDocument( "http://www.w3.org/1999/xhtml", "html", null );
doc.firstChild.innerHTML = '<html><body><div id="message">Hello World!</div></body></html>';
node = doc.getElementById( "message" ); 
alert( node.innerHTML );

항상 그 구문입니까? 그렇다면 왜 Regex를 사용하지 않습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top