我写了以下代码。但它只删除
而不是<br>
var docDesc = docDescription.replace(/( )*/g,"");
var docDesc1 = docDescription.replace(/(<br>)*/g,"");
答案 0 :(得分:33)
您可以单独使用CSS删除<br>
:
#some_element br {
display: none;
}
如果这不符合您的需求,并且您想要真正删除每个<br>
,那取决于docDescription
是否真的是一个字符串(那么上述解决方案之一应该有效,特别是Matt Blaine's)或DOM节点。在后一种情况下,您必须遍历br元素:
//jquery method:
$('br').remove();
// plain JS:
var brs = common_parent_element.getElementsByTagName('br');
while (brs.length) {
brs[0].parentNode.removeChild(brs[0]);
}
编辑:为什么Matt Baline的建议?因为他也处理了这个案例,<br>
出现在XHTML上下文中,并带有斜线。但是,更完整的是:
/<br[^>]*>/
答案 1 :(得分:9)
尝试:
var docDesc = docDescription.replace(/[&]nbsp[;]/gi," "); // removes all occurrences of
docDesc = docDesc.replace(/[<]br[^>]*[>]/gi,""); // removes all <br>
答案 2 :(得分:2)
尝试“\ n”...看看它是否有效。
答案 3 :(得分:2)
怎么样:
var docDesc1 = docDescription.replace(/(<br ?\/?>)*/g,"");
答案 4 :(得分:1)
试试这个
var text = docDescription.replace(/(?: |<br>)/g,'');
答案 5 :(得分:1)
这取决于输入文本,但我刚刚检查过它的工作原理:
var result = 'foo <br> bar'.replace(/(<br>)*/g, '');
alert(result);
答案 6 :(得分:0)
你可以这样做:
var cell = document.getElementsByTagName('br');
var length = cell.length;
for(var i = 0; i < length; i++) {
cell[0].parentNode.removeChild(cell[0]);
}
它就像一个魅力。不需要jQuery。
答案 7 :(得分:0)
我使用简单替换删除
和br
代码。
var str = docDescription.replace(/ /g, '').replace(/\<br\s*[\/]?>/gi, '');
使用remove()或replaceWith()
删除br
$('br').remove();
或
$('br').replaceWith(function() {
return '';
});