2009-03-02 5 views
0

OS X 위젯에 외부 페이지 int의 일부를로드하려고합니다. JQuery를 사용하면 페이지를로드 할 수 있지만 페이지에 넣으려고하면 오류가 발생합니다.jquery 필터 원시 HTML 형식 load()

페이지에 넣기 전에 반환 된 HTML을 필터링하는 데 문제가 있습니다.

내가 페이지를 가져 내가 원하는 테이블을 필터링, 나는 화면에 appened 위의 아무것도 할 때 (loadArea의 DIV에서) 페이지로

$(document).ready(function() { 
     $().load("source.html", function(request) { 
      $("#loadArea").append(request).filter(".myclass"); // this is in callback because the loading is asynchronous and you cant filter it before it is all there) 
     });    
    }); 

그것을 추가 할 수 있도록하고 싶습니다

페이지가 비어 있습니다 (검은 색이어야합니다 - 뭔가가 전체 페이지를 깨뜨리는 것임)

빈 선택기 $()로 올바른 방법을 사용하고 있습니까? 나는 일반적으로 올바른 방향으로 가고 있는가?

답변

3

빈 선택기 방식이 효과적 일 수 있지만 $ .get 또는 $. post를 사용하는 것이 훨씬 더 적합합니다. 또한 추가하려는 요소를 에 필터링 한 다음을 추가해야합니다.

$.get('source.html', function(data) { 
    $(data).filter('.myClass').appendTo('#loadArea'); 
}); 
0

테스트를 위해 기능 섹션으로 나누는 것이 좋습니다. 먼저 페이지가 실제로 오류없이 리턴되는지 확인하십시오. 따라서로드 호출을 개별적으로 테스트하십시오. 그런 다음 더미 데이터로 loadArea를 개별적으로 업데이트하십시오.

콜백에서 debugger 키워드를 사용하면 서버의 응답을 검사하는 데 도움이 될 수 있습니다.

1

내가 source.html에서 #loadArea에 .myclass를로드 할 것이다

$(document).ready(function() { 
    $(#loadArea).load('source.html .myclass' 
    function());        
    }); 

처럼 그것을 할 것입니다 시도