2009-10-14 10 views
1

서버 응답에서 특정 div 안에 텍스트를 가져 오려고합니다. Firebug를 사용하여 응답이 무엇인지 확인하고 반환 된 코드에서 요소를 확인할 수 있지만 어떤 이유로 jQuery를 캡처 할 수 있습니다. 여기에 제가 사용하고있는 것이 있습니다 :jQuery .find() in server response

var response = $('<div />').html(serverData); 
$('#uploadedFiles').html($(response).find("#created").text()); 
alert($(response).find("#created").text()); 

시도는 텍스트 나 아무것도 반환하지 않고 단지 아무것도 반환하지 않습니다. 이 일을 제대로하고 있습니까?

참고 : 서버 응답은 jQuery SWFUpload 플러그인이 아니라 jQuery ajax 함수에서 가져온 것이 아닌가?

+0

경보 (serverData)의 내용은 무엇입니까? –

+0

나는 그것이 내가 여기있는 것과 같은 문제라고 생각한다 : http://stackoverflow.com/questions/1508095/jquery-query-a-get-returned-string – k0ni

+0

var "응답"에 jquery 객체가 들어있다. 그 사실을 알고 있습니까? –

답변

4

언제 코드를 실행하고 있습니까? uploadedFile 요소가 생성되기 전에 실행하면 코드에서 찾지 못합니다.

내가이 테스트하고, 그것이 "자위대"를 경고하고 div 요소에 "자위대"와 "테스트"대체 잘 작동 :

response는 jQuery를 개체을 벌써되는 것으로 도시
<script type="text/javascript"> 

$(function(){ 
    var response = $('<div />').html('<div id="created">asdf</div>'); 
    alert(response.find("#created").text()); 
    $('#uploadedFiles').html(response.find("#created").text()); 
}); 

</script> 

<div id="uploadedFiles">test</div> 

, 그래서 $(response)은 중복됩니다.

+0

사용할 serverData 매개 변수가있는 uploadSuccess 함수에서이 값을 사용하고 있습니다. 귀하의 예제는 일부 위치 ID를 찾는 것일뿐입니다. 다른 위치 ID를 serverData 매개 변수에서 가져 오는 것입니까? –

+0

아, 그게 효과가 있어요. 나는 더 많은 테스트를했고, 전체 HTML 문서를 가지고 있었다.

태그의 코드를 반환하도록 스크립트를 수정했으며 완벽하게 작동합니다. 감사합니다. –

+0

@Nic : 예, 복잡한 HTML 코드를 $ 메소드에 전달하면 div 요소의 innerHTML에 요소를 할당하여 완전한 html 문서를 사용할 수 없게됩니다. – Guffa