如何删除&;nbsp;及<;br>;使用javascript还是jQuery?
我已经编写了以下代码。但它只是删除如何删除&;nbsp;及<;br>;使用javascript还是jQuery?,javascript,jquery,Javascript,Jquery,我已经编写了以下代码。但它只是删除而不是 var docDesc = docDescription.replace(/( )*/g,""); var docDesc1 = docDescription.replace(/(<br>)*/g,""); var docDesc=docDescription.replace(/()*/g,”); var docDesc1=docDescription.replace(/()*/g,“”; 试试这个 var text =
而不是
var docDesc = docDescription.replace(/( )*/g,"");
var docDesc1 = docDescription.replace(/(<br>)*/g,"");
var docDesc=docDescription.replace(/()*/g,”);
var docDesc1=docDescription.replace(/(
)*/g,“”;
试试这个
var text = docDescription.replace(/(?: |<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(/ /g, '').replace(/\<br\s*[\/]?>/gi, '');
$('br').remove();
$('br').replaceWith(function() {
return '';
});