2010-10-14 444 views
1

我們如何通過使用jQuery例如,刪除HTML標籤,我們有這個網站我們如何通過使用jquery去除html標籤?

<div><dd>hello world</dd></div> 

我想刪除<dd>標籤和產生這種輸出

<div>hello world</div> 
+0

你想刪除剛剛打開的標籤嗎?或者打開和關閉標籤? – Liggi 2010-10-14 13:54:04

回答

4

您可以使用.replaceWith(),例如:

$("dd").replaceWith(function() { return $(this).contents(); }); 

You can test it out here

+0

我檢查了它,但它也刪除了dd標籤中的內容,它是「Hello Wolrd」 – user438860 2010-10-14 14:02:38

+0

@ user438860 - 除非您在瀏覽器中不支持HTML5標籤(IE瀏覽器)也許?)在這種情況下,你需要像html5shiv:http://code.google.com/p/html5shiv/ – 2010-10-14 14:03:42

+0

$(「div」)。html(function(i,h){return $(h).text ();}); 這真的很有用,謝謝 – user438860 2010-10-14 14:14:42

0

這是我使用的。不過請注意,只有當您給div一個類(或id)時,這纔有效。

var string = $('div.test').html().replace('<dd>', '').replace('</dd>', '') 
$('div.test').html(string); 

這是什麼會做的僅僅是把div的內容到一個變量(以.html()你搶不只是文本,但所有的HTML),然後剝離出DD標籤,然後重新填充

編輯:

這裏有一個更好的方法來做到這一點。使用此代碼,您不必依賴div中存在的類或ID。

container = $('div').find('dd').parent(); 
    var test = container.html().replace('<dd>', '').replace('</dd>', '') 
    container.html(test); 
+0

看到我的編輯,我改變它,所以你不需要使用一個類(因爲你沒有訪問它,因爲你似乎無法刪除dd? – Jubair 2010-10-14 15:32:54

0

你總是可以讓一個if語句來檢查,看看是否div包含它內部的一個DD元素,那麼如果是這樣的情況下,從DD複製的內容,去掉DD元素,再注入內容進入div。

我不知道JavaScript那麼多,但假設你使用正確的對象和一些簡單的算法,任何事情都可以完成!

相關問題