我們如何通過使用jQuery例如,刪除HTML標籤,我們有這個網站我們如何通過使用jquery去除html標籤?
<div><dd>hello world</dd></div>
我想刪除<dd>
標籤和產生這種輸出
<div>hello world</div>
我們如何通過使用jQuery例如,刪除HTML標籤,我們有這個網站我們如何通過使用jquery去除html標籤?
<div><dd>hello world</dd></div>
我想刪除<dd>
標籤和產生這種輸出
<div>hello world</div>
您可以使用.replaceWith()
,例如:
$("dd").replaceWith(function() { return $(this).contents(); });
我檢查了它,但它也刪除了dd標籤中的內容,它是「Hello Wolrd」 – user438860 2010-10-14 14:02:38
@ user438860 - 除非您在瀏覽器中不支持HTML5標籤(IE瀏覽器)也許?)在這種情況下,你需要像html5shiv:http://code.google.com/p/html5shiv/ – 2010-10-14 14:03:42
$(「div」)。html(function(i,h){return $(h).text ();}); 這真的很有用,謝謝 – user438860 2010-10-14 14:14:42
要刪除所有子節點,僅保留文本,也可以嘗試:
$("div").html(function(i, h){ return $(h).text(); });
這是我使用的。不過請注意,只有當您給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);
看到我的編輯,我改變它,所以你不需要使用一個類(因爲你沒有訪問它,因爲你似乎無法刪除dd? – Jubair 2010-10-14 15:32:54
你總是可以讓一個if語句來檢查,看看是否div包含它內部的一個DD元素,那麼如果是這樣的情況下,從DD複製的內容,去掉DD元素,再注入內容進入div。
我不知道JavaScript那麼多,但假設你使用正確的對象和一些簡單的算法,任何事情都可以完成!
你想刪除剛剛打開的標籤嗎?或者打開和關閉標籤? – Liggi 2010-10-14 13:54:04