2009-03-17 42 views

Trả lời

134

Bạn muốn sử dụng các chức năng empty:

$('#mydiv').empty(); 
10

Một cách khác chỉ là để thiết lập html để chuỗi rỗng:

$('#mydiv').html(''); 
69

Tôi không nghĩ empty() hoặc html() là những gì bạn đang tìm. Tôi đoán bạn đang tìm kiếm một cái gì đó như strip_tags trong PHP. Nếu bạn muốn làm điều này, hơn bạn cần phải thêm chức năng này:

jQuery.fn.stripTags = function() { 
    return this.replaceWith(this.html().replace(/<\/?[^>]+>/gi, '')); 
}; 

Giả sử đây là HTML của bạn:

<div id='foo'>This is <b>bold</b> and this is <i>italic</i>.</div> 

Và sau đó bạn làm:

$("#foo").stripTags(); 

nào sẽ cho kết quả in:

<div id='foo'>This is bold and this is italic.</div> 
+5

Tôi nghĩ rằng ông muốn nói xóa tất cả nội dung. Vẫn +1 để có câu trả lời tốt cho các thế hệ tương lai. –

+28

Cá nhân tôi chỉ làm $ ("# foo") html ($ ("# foo"). Văn bản()); – Killroy

+5

Áp phích có thể không muốn làm điều này nhưng tôi đã làm. 1, cảm ơn. –

0
var htmlJ = $('<p><span>Test123</span><br /><a href="http://www.google.com">goto Google</a></p>'); 
console.log(htmlJ.text()); // "Test123goto Google" 
+0

Nếu văn bản là cảnh báo ' 'nó sẽ cảnh báo, vì vậy nó không an toàn. – umpirsky

0
function stripsTags(text) 
    { 
    return $.trim($('<div>').html(text).text()); 
    } 
+0

Nếu văn bản là cảnh báo ' 'nó sẽ cảnh báo, vì vậy nó không an toàn. – umpirsky

0

giả sử bạn có một html như thế này

<div class="prtDiv"> 
    <div class="first"> 
    <div class="hello">Hello</div> 
    <div class="goodbye">Goodbye</div> 
    </div> 
</div> 

nếu bạn muốn tất cả html dưới div "đầu tiên" để loại bỏ vĩnh viễn. chỉ cần sử dụng này

$('.first').empty(); 

kết quả sẽ như thế này

<div class="prtDiv"> 
    <div class="first"> 

    </div> 
</div> 

tạm (nếu bạn muốn thêm chúng một lần nữa), chúng tôi có thể thử tách() như

$('.first').detach(); 
Các vấn đề liên quan