如何删除和使用javascript或jQuery?

时间:2010-03-25 08:02:26

标签: javascript jquery

我写了以下代码。但它只删除&nbsp;而不是<br>

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

8 个答案:

答案 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 &nbsp;
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(/(?:&nbsp;|<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)

我使用简单替换删除&nbsp;br代码。

的JavaScript

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

的jQuery

使用remove()或replaceWith()

删除br
$('br').remove();

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