Ajax 호출을 통해 HTML을로드하면 데이터를 문자열로 반환하므로 일반 jQuery 선택기를 응답에 적용 할 수 없습니다. 데이터를 $ (data)로 변환하면 $ (data)가 본문 내용 모음 (jQuery internal clean() 메서드로 제거됨)이므로 본문에 액세스 할 수도 없습니다. 당신은 단지 문서에 어딘가에로드 된 HTML의 몸을 추가하려면
당신은이 작업을 수행 할 수 있습니다 :
$.get('http://your_url', function(data) {
$('.result').html(data);
});
이 의지 당신은 몇 가지 옵션을 사용하면 결과 수행 할 작업에 따라이 본문 내용 만 .result 컨테이너에로드하십시오. 추가 처리를 원할 경우 거기에서 선택기에 액세스 할 수 있습니다.
첨부되지 않은 단편을 조작하려는 경우 필터 & get을 사용하여 요소에 액세스 할 수 있습니다.
$(data).filter('p').get() //will get all para DOM nodes
$($(data).filter("#test2").get()).text() //will get text of one specific dom node
당신이 XML로 처리 할 빠르게 수 있습니다 몸의 데이터를 처리 할 경우 또 다른 옵션 - http://think2loud.com/224-reading-xml-with-jquery/에서 XML 처리 룩. 예를 들면 다음과 같습니다.
$.ajax({
url : "http://mypage",
dataType : 'xml', //change dataType to XML
success : function(data) {
//data is correct at this point
$(data).find('html').each(function() {
//here you can find whatever you want
a = $(this).find("body")
console.log(a);
})
}
})
실제 코드입니까? 빈'body' 변수를'.find()'에 넘깁니다. –
'data'가 전체 HTML 문서 인 경우 일부 브라우저에서는 '
'요소를 찾으려고하는데 문제가 있습니다. –