2012-02-04 16 views
5

Gerçek aptal soru için özür dilerim. Ama bu iki şekilde işe yaramıyor.Başka bir öğe hariç öğe html() nasıl alınır?

<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> 

çalıştı $ ("içerik *:. Değil ('dontgrab')"). Html(); // döndürür NULL

Lütfen yardım edin.

Teşekkürler.

+0

@DavidRodrigues: nope. zaten denedim. –

+0

Teşekkürler çocuklar. Kaldırma() öğesini kaldırmak çok kolay olacak ve sonra yeniden oluşturulacak. –

cevap

10

Bu yapmalıyım:

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

var html = clone.html(); 
+0

Bu belge .dontgrab öğesini belgeden kaldıracak mı? Onu tutmam lazım! –

+0

Bunu (geçici olarak) klonlayacaksınız, yalnızca belgeden değil, yalnızca klondan kaldıracaksınız. –

+0

Başka yollar? Biraz fazladan kodlama gibi görünüyor. =) –

-1

Ne yapmaya çalışıyorsunuz düşünüyorum:

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(); 

Sen() durum gibi olsaydı .not kullanabilirsiniz

Seçtiğiniz elemanlar için kullanamazsınız. Umarım

İlgili konular