2012-02-04 3 views
5

진짜 바보 같은 질문에 사과드립니다. 그러나 어느 쪽이든 작동하지 않습니다.다른 요소를 제외한 요소에서 html()을 가져 오는 방법은 무엇입니까?

<html> 
<head> 
<script src='js/jquery.js' type='text/javascript'></script> 
<script type='text/javascript'> 
    $(document).ready(function() { 
    var htmlcontent = $('.content').not('.dontgrab').html(); 
    alert(htmlcontent); // returns EVERYTHING 
    }); 
</script> 
</head> 
<body> 
<div class='content'> 
    BEFORE 
    <div class='dontgrab'>DON'T GRAB</div> 
    AFTER 
</div> 
</body> 
</html> 

시도한 $ (". 콘텐츠 : 아니요 (.dontgrab ')") .html(); // NULL을 반환합니다.

도와주세요.

감사합니다.

+0

@DavidRodrigues : nope. 이미 시도했다. –

+0

감사합니다. 아마() 요소를 제거한 다음 다시 작성하는 것이 훨씬 쉬울 것이라고 생각합니다. –

답변

10

이 그것을 수행해야합니다

var clone = $('div.content').clone(); 
clone.find('.dontgrab').remove(); 

var html = clone.html(); 
+0

.dontgrab 요소가 문서에서 제거됩니까? 나는 그것을 지켜야한다! –

+0

복제하면 (일시적으로) 복제본에서만 제거되고 문서에서는 제거되지 않습니다. –

+0

다른 방법이 있습니까? 약간의 추가 코딩 인 것 같습니다. =) –

-1

을 당신이 일을하려고 생각 :

var htmlcontent = $('div').not(".dontgrab").html(); 

<body> 
<div class="content"> 
    BEFORE 

    AFTER 
</div> 
<div class="content dontgrab">DON'T GRAB</div> 
</body> 
:

var htmlcontent = $('.content').remove(".dontgrab").html(); 

당신은() 상황이 같았다 경우이 아니요 사용할 수 있습니다

내가 선택한 요소 어린이에 대해 .not을 사용할 수 없다고 생각합니다. 도움이 되었기를 바랍니다.

관련 문제