jQuery .post()를 사용하여 다른 페이지의 내용을로드하려고 시도했습니다. 반환 된 HTML을 구문 분석하여 원하는 부분 만 추출합니다.jQuery find()는 IE에서만 null을 반환합니다.
이 문제는 Firefox에서 작동하지만 IE에서는 작동하지 않습니다.
나는이 문제를 find() 함수로 추적했다. IE와 FF 모두 게시를 사용하여 해당 "데이터"개체에 저장된 다른 페이지에서 html을로드합니다. 그러나 라인이
debugText += jq(data).find('#timeline_events').html();
은 출력이 Firefox에서 생성되는 동안 IE에서 null을 생성합니다.
나는 광범위한 연구를 해왔으며 jquery 충돌로 인해 또는로드되는 페이지가 xhtml로 인해 발생할 수 있습니다.
첫 번째 경우에는 var jq = jQuery.noConflict()를 사용하고 모든 jquery 호출에 "$"대신 "jq"를 사용하기 때문입니다. 두 번째 경우에는 결과에 변화가없는 HTML 및 XML에 명시 적으로 포스트 리턴 데이터 유형을 선언했습니다.
아이디어가 있으십니까? 업데이트
<script type="text/javascript" charset="utf-8">
var jq=jQuery.noConflict();
var debugText = "";
function loadNext()
{
jq.post("test.html", function(data)
{
debugText += jq(data).find('#myEvents').html();
}
}
</script>
: 여기 내가 현재 페이지에로드 할 테스트 페이지에서 일부 HTML의 샘플입니다
이<table id="myEvents">
<tbody>
<tr>
<td>Test</td>
</tr>
</tbody>
</table>
내가 궁극적으로하고 싶은 것입니다 것은 빼이다 그 테이블의 td 요소를 현재 페이지의 다른 테이블에 삽입하십시오.
-Update- jQuery를 버전 내가 사용 : 필요한 id 요소를 선택 jQuery를 사용하고 문서에 숨겨진 개체에 데이터를로드 1.2.3
하고는 동일한 결과를 생성 - 즉 , IE에서 null, 그리고 그렇지 않으면 작동합니다.
하나 이상의 요소에'id = "timeline_events"가 있습니까? – thirtydot
'jq ("# timeline_events", data)' –
응답 데이터에 마크 업이 잘 형성되어 있습니까? 그것은 때때로 IE에서 문제를 만듭니다. – ShankarSangoli