上午在文本編輯器的工作範圍內粗體,斜體風格,其中的內容可以在一些用戶點擊以下如何獲得一個div
<div>some text <strong>bold text</strong> more <em>italic</em></div>
現在的形式,我不得不刪除粗體和斜體從div的造型。
如何從div刪除strong和em標籤?
感謝
卡皮爾
上午在文本編輯器的工作範圍內粗體,斜體風格,其中的內容可以在一些用戶點擊以下如何獲得一個div
<div>some text <strong>bold text</strong> more <em>italic</em></div>
現在的形式,我不得不刪除粗體和斜體從div的造型。
如何從div刪除strong和em標籤?
感謝
卡皮爾
HTML
<div id="foo">
<div>some text <strong>bold text</strong> more <em>italic</em></div>
</div>
JS
var t = document.getElementById('foo').innerHTML;
t = t.replace('<strong>', '');
t = t.replace('</strong>', '');
t = t.replace('<em>', '');
t = t.replace('</em>', '');
document.getElementById('foo').innerHTML = t;
我不知道,如果你想的jQuery,但它處理這樣的事情很好:
// To remove styles from clicked element.
$('#editor *').click(function() {
$(this).replaceWith($(this).text());
});
這樣的真正測試過的人問他關於javascript的問題,而不是jquery – 2011-04-21 05:40:59
哦。我會保持它在這裏說服作者,當做元素操作時,vanilla JS很難處理... – Blender 2011-04-21 05:41:59
感謝您的快速回復。 – 2011-04-21 06:04:39
var element = document.getElementById('whatever');
element.innerHTML = element.innerHTML.replace(/<(strong|em)>(.*?)<\/\1>/g, '$1');
請記住,此div
的任何子女的任何活動都將丟失。
+1對於單線程正則表達式解決方案。 – Blender 2011-04-21 05:44:00
-1爲單線正則表達式解決方案......(只是在開玩笑!) – ninjagecko 2011-05-04 22:22:01
請勿對此使用正則表達式或其他類型的文本替換。 DOM是一棵樹。對待它,不要害怕它。這是處理這種事情的最安全和最不殘忍的方式。
function removeElements(container) {
var elements = container.getElementsByTagName("*");
// Make an array of the strongs and ems
var strongsAndEms = [];
for (var i = 0, len = elements.length; i < len; ++i) {
if (/^(strong|em)$/i.test(elements[i].tagName)) {
strongsAndEms.push(elements[i]);
}
}
// Remove the strongs and ems
for (var j = 0, el, child; el = strongsAndEms[j++];) {
while ((child = el.firstChild)) {
el.parentNode.insertBefore(child, el);
}
el.parentNode.removeChild(el);
}
}
var div = document.getElementById("foo");
removeElements(div);
我會+1如果你沒有*呃*我的回答... :) – alex 2011-05-04 23:29:29
@alex:嘿。這有點晚了,我沒有申請我通常的自我審查。抱歉。 – 2011-05-05 08:13:15
點擊div或強/粗文本? – mplungjan 2011-04-21 05:39:24
點擊工具欄上的一個按鈕 – 2011-04-21 06:09:26
啊 - 爲什麼不使用像[tinymce](http://tinymce.moxiecode.com/) – mplungjan 2011-04-21 07:51:27