如何使用javascript或jquery删除&nbsp; <br>

how to remove &nbsp; and <br> using javascript or jQuery?

我写了以下代码。但它只删除了 ,而不是

1
2
var docDesc = docDescription.replace(/(&nbsp;)*/g,"");
var docDesc1 = docDescription.replace(/()*/g,"");


仅使用css就可以删除

1
2
3
#some_element br {
  display: none;
}

如果这不符合您的需要,并且您真的想删除每个,这取决于,如果docDescription真的是一个字符串(那么上述解决方案之一应该有效,特别是Matt Blaine的)或一个dom节点。在后一种情况下,必须循环使用br元素:

1
2
3
4
5
6
7
8
//jquery method:
$('br').remove();

// plain JS:
var brs = common_parent_element.getElementsByTagName('br');
while (brs.length) {
  brs[0].parentNode.removeChild(brs[0]);
}

编辑:为什么马特·巴林的建议?因为他也处理这种情况,其中出现在带有右斜杠的XHTML上下文中。然而,更完整的是:

1
/<br[^>]*>/


尝试:

1
2
var docDesc = docDescription.replace(/[&]nbsp[;]/gi,""); // removes all occurrences of &nbsp;
docDesc = docDesc.replace(/[<]br[^>]*[>]/gi,"");  // removes all


如何:

1
var docDesc1 = docDescription.replace(/(<br ?\/?>)*/g,"");


试试看"n"…看它是否有效。


这将取决于输入文本,但我刚检查过是否有效:

1
2
var result = 'foo  bar'.replace(/()*/g, '');
alert(result);

试试这个

1
var text = docDescription.replace(/(?:&nbsp;|)/g,'');


我使用简单的替换来删除 br标记。

JavaScript

1
var str = docDescription.replace(/&nbsp;/g, '').replace(/\<br\s*[\/]?>/gi, '');

JQuery

用remove()或replaceWith()删除br

1
$('br').remove();

1
2
3
$('br').replaceWith(function() {
  return '';
});

你可以这样做:

1
2
3
4
5
var cell = document.getElementsByTagName('br');
var length = cell.length;
for(var i = 0; i < length; i++) {
    cell[0].parentNode.removeChild(cell[0]);
}

它像一种魅力。不需要jquery。