2013-09-03 2 views
0

현재 웹 사이트에서 HTML을 다운로드하고 있으며 HTML 코드를 얻기 위해 "responseText"를 사용하고 있습니다. 이제는 특정 부분 만 원합니다. XMLHttpRequest를 사용하여 HTML 코드의 특정 부분을 어떻게 선택합니까? 이미 Xpath 또는 querySelectorAll을 사용하여이 작업을 수행하는 방법을 연구하고 있습니다.이 작업을 실제로 어떻게 쉽게 수행 할 수 있습니까? HTML 코드에서 당신은 단지 id = "home-members"인 div 만 선택하는 것이 좋습니다.XMLHttpRequest로 HTML의 특정 부분 만 선택 하시겠습니까?

미리 감사드립니다.

은 코드입니다 :

foobar.com/index.html :

.......... 
..... 
<body> 
.......... 
<div id="home-members"> 
    ........ 
    ..... 
</div> 
.... 
</body> 

내 순회 코드 : 나는 이것에 대한 HtmlAgilityPack를 사용하는 것이 좋습니다

<script> 
$.ajax({ 
    url: "http://foobar.com/index.php", 
    cache: false 
}).done(function(html) { 
    var partial = $(html).find("home-members"); 
    $("#results").append(partial); 
}) 
</script> 

<body> 
    <div id="results"></div> 
</body> 
+0

어떤 브라우저는 당신을 목표로합니까? Mozilla와 IE 10은 새로운 DOMParser(). parseFromString (htmlString, 'text/html')'을 지원하여'querySelectorAll'로 질의 할 수있는 HTML DOM 문서를 제공합니다. –

답변

0

반환 된 HTML을 검색하려면 jQuery를 사용하십시오. 같은 뭔가 : 당신이 그것의 부분이 정규식을 사용하지만 난 쉽게 해킹하지 될 수 있다고 생각 선택할 수 있도록 내가 잘못 이해하지 않는 경우

$.ajax({ 
    url: "test.html", 
    cache: false 
}).done(function(html) { 
    var partial = $(html).find("div.dynamic-wrap.sidebar-wrap.clearfix"); 
    $("#results").append(partial); 
}); 
+0

도움을 주셔서 감사합니다. 시도해 본 결과 div.results 섹션에 아무 것도 표시되지 않습니다. 아마도 jQuery를 잘 모르기 때문에 코드의 예제를 줄 수 있습니까? URL이 http://www.google.com이고 검색 버튼에서 '텍스트'를 가져 오지 않는다고 가정 해 보겠습니다. 다시 한 번 감사드립니다. –

+0

Google에서 CORS를 사용하도록 설정하지 않으면 동일한 원점 오류가 발생합니다. '# results'를 내용 추가를 원하는 요소의 id로 변경 했습니까? 간단한 선택기를 사용하여 작동하는지 확인해 보셨습니까? – epascarello

+0

예, 간단한 선택을 시도하고 div # 결과 콘텐츠를 변경합니다. 귀하의 코드를 사용하여 게시물을 업데이트했습니다. –

0

mm은 ...

에서 responseText는 문자열입니다.

다른 솔루션은 InnerHTML을 사용하여 div에 응답 텍스트를 넣을 수 있으므로 표준 자바 스크립트 선택기를 사용하여 다양한 요소를 사용할 수 있습니다. 뭔가 같은 ..

document.getElementById('structural_div').innerHTML = responseText; 

var what_you_need = document.getElementById('structural_div').getElementById('id_of_element_you_need').className 

대신 getElementById('id_of_element_you_need') 당신이 태그 이름 등으로, 클래스 이름, 당신이 원하는 방식의 요소를 얻을 수 있습니다 ..

희망은 당신에게 도움이합니다 :)

관련 문제