2012-04-05 19 views
7

tình hình của tôi là như thế nàyDi p thẻ sử dụng jquery mà không xóa nội dung

<p><img src="/media/118711/banner.jpg" width="344" height="113" alt="Banner"></p> 

Tôi muốn xóa thẻ p sử dụng jquery nhưng tôi không cần phải xoá nội dung (hình ảnh). Bất kỳ ai có thể giúp tôi?

+1

bạn không bao giờ lang thang các yếu tố có thể nhấp bên cạnh câu trả lời và câu hỏi là gì? Tôi không thể tin được. –

+0

@Topener: tôi nghĩ rằng bạn đang nhầm lẫn tôi chỉ hỏi sáu câu hỏi và đã đánh dấu 3 người trong số họ là đúng – Athul

+1

Xin lỗi, nhầm lẫn họ với câu trả lời của bạn. Không ai trong số họ được đánh dấu là đúng. Bạn sẽ phải nhấp vào biểu tượng dấu kiểm, chứ không phải mũi tên: http://stackoverflow.com/users/1177753/athul-ks?tab=questions –

Trả lời

13

này nên làm điều đó ...

$('p > *').unwrap(); 

jsFiddle.

+2

+1 cho câu trả lời ngắn gọn và chỉ cho tôi tài liệu học tập mới (unwrap ???). Cảm ơn – Gabber

+0

Bất cứ ai có thể giải thích lý do tại sao điều này sẽ làm việc? –

+0

@tymie nó chọn tất cả trẻ em trực tiếp và * unwraps * chúng từ phần tử container của chúng, đó là 'p'. – alex

4

Bộ chọn $('p > *') chỉ hoạt động khi nội dung của p là một thẻ khác. Nếu nó chỉ chứa văn bản, thì bộ chọn này không đánh dấu nó. Điều này phù hợp với tôi:

$("p").each(function() { 
    $(this).replaceWith($(this).html()); 
}); 
Các vấn đề liên quan