如何删除&;nbsp;及<;br>;使用javascript还是jQuery?

如何删除&;nbsp;及<;br>;使用javascript还是jQuery?,javascript,jquery,Javascript,Jquery,我已经编写了以下代码。但它只是删除而不是 var docDesc = docDescription.replace(/(&nbsp;)*/g,""); var docDesc1 = docDescription.replace(/(<br>)*/g,""); var docDesc=docDescription.replace(/()*/g,”); var docDesc1=docDescription.replace(/()*/g,“”; 试试这个 var text =

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

var docDesc = docDescription.replace(/(&nbsp;)*/g,"");
var docDesc1 = docDescription.replace(/(<br>)*/g,"");
var docDesc=docDescription.replace(/()*/g,”);
var docDesc1=docDescription.replace(/(
)*/g,“”;
试试这个

var text = docDescription.replace(/(?:&nbsp;|<br>)/g,'');
var text=docDescription.replace(/(?:|
)/g';
试试“\n”…看看它是否有效。

关于:

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

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

var result = 'foo <br> bar'.replace(/(<br>)*/g, '');
alert(result);
var result='foo
bar'。替换(/(
)*/g',); 警报(结果);
仅使用CSS即可实现删除

#some_element br {
  display: none;
}
如果这不符合您的需要,并且您想真正删除每个

,这取决于
docDescription
是否真的是字符串(那么上述解决方案之一应该可以工作,尤其是Matt Blaine的)或DOM节点。在后一种情况下,必须循环br元素:

//jquery method:
$('br').remove();

// plain JS:
var brs = common_parent_element.getElementsByTagName('br');
while (brs.length) {
  brs[0].parentNode.removeChild(brs[0]);
}
编辑:为什么是马特·巴林的建议?因为他也处理这样的情况,

出现在带有结束斜杠的XHTML上下文中。然而,更完整的是:

/<br[^>]*>/
/]*>/
试试:

var docDesc=docDescription.replace(/[&]nbsp[;]/gi,”)//删除所有出现的
docDesc=docDesc.replace(/[]*[>]/gi,”);//删除所有

您可以这样做:

var cell = document.getElementsByTagName('br');
var length = cell.length;
for(var i = 0; i < length; i++) {
    cell[0].parentNode.removeChild(cell[0]);
}
var cell=document.getElementsByTagName('br');
变量长度=cell.length;
对于(变量i=0;i

它就像一个符咒。不需要jQuery。

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

JavaScript 或


欢迎来到SO,请花几分钟时间阅读常见问题解答和降价文档(编辑问题时在右边空白处提供了一个有用的语法)。docDescription是一个简单字符串还是有一些历史记录(例如作为某个DOM节点的
innerHTML()
),您不应该使用正则表达式解析HTML。在JavaScript上这样做就更没有意义了;您有一个已解析的DOM结构,并在一个巨大的HTML解析器(浏览器)的上下文中运行。@Kobi:这取决于具体情况。在某些情况下,您只有一个序列化的HTML结构(也称为字符串),并希望在将其注入站点之前进行一些预处理(想想XSS),然后您需要一个javascript HTML解析器,与往常一样。不过,我怀疑情况是否如此@沙兹-我想我们缺少了一些背景。什么是
docDescription
?它现在看起来怎么样?它是如何创建的?它仍然在删除,但不是
标记。

有一些内容,比如,一个类属性吗?@shaz Boldewyn答案末尾的正则表达式怎么样,然后在
gi
结尾,而不仅仅是
g
?非常感谢您提供了这个只有CSS的解决方案!
var cell = document.getElementsByTagName('br');
var length = cell.length;
for(var i = 0; i < length; i++) {
    cell[0].parentNode.removeChild(cell[0]);
}
var str = docDescription.replace(/&nbsp;/g, '').replace(/\<br\s*[\/]?>/gi, '');
$('br').remove();
$('br').replaceWith(function() {
  return '';
});