繁体   English   中英

如何删除和 <br> 使用JavaScript或jQuery?

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

我写了下面的代码。 但这只是删除&nbsp; 不是<br>

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

您可以单独使用CSS实现删除<br>

#some_element br {
  display: none;
}

如果这不符合您的需求,并且您想真正删除每个<br> ,则取决于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]);
}

编辑:为什么马特·巴林的建议? 因为他也处理这种情况,所以<br>出现在XHTML上下文中并带有斜杠。 但是,更完整的是:

/<br[^>]*>/

尝试:

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

尝试“ \\ n” ...看是否可行。

关于什么:

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

尝试这个

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

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

var result = 'foo <br> bar'.replace(/(<br>)*/g, '');
alert(result);

您可以这样做:

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

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

我使用简单替换删除了&nbsp; br标签。

的JavaScript

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

jQuery的

使用remove()或replaceWith()删除br

$('br').remove();

要么

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM