2010-07-23 8 views
1

이 코드 블록을 작성하는 더 좋은 방법을 알고 있는지 궁금합니다.단축키 jQuery 명령

if($('div.homeBox > div').length > 0){ 
    $('div.homeBox > div').remove(); 
} 
$('div.homeBox').append(data.loadPage); 

이것은 그대로 작동하지만 가능하면 꽤 만들 싶습니다. 내 페이지의 코드 블록을 ajax 요청 (data.loadPage)에 의해 반환 된 HTML 데이터로 대체하려고합니다.

data.loadPage의 예는 어떤 조언에 미리

<div id="variousIDs" > 
    ... some content ... 
</div > 

감사 할 것이다.

+1

왜 '길이> 0'입니까? 빈 결과 집합에'.remove()'를 호출하면 아무 일도 일어나지 않습니다. – Lucas

답변

1
// you don't need to test if it exists first 
$('div.homeBox > div').remove() 
$('div.homeBox').append(data.loadPage); 

// if you want to do it in one go, this less clear option should work, too: 
// .end() moves back up the stack to undo the last filter operation (.children()) 
$('div.homeBox').children('div').remove().end().append(data.loadPage); 

// if you want to get rid of everything within homebox, this is even easier: 
$('div.homeBox').empty().append(data.loadPage); 
+0

이것은 정확히 내가 찾던 내용입니다. 빠른 답장을 보내 주셔서 감사합니다. – stmpy

0

(div.homeBox 안에 그 다음 자신의 ID (예를 들면, "ID = homeBoxInnerDiv"또는 무언가),

경우 ($ ('#의 homeBoxInnerDiv'). 볼()) {
$를 사업부주세요 '#homeBoxInnerDiv'). replaceWith (data.loadPage);

이렇게하면 삭제하려는 div의 콘텐츠가 새 콘텐츠로 대체됩니다.