开发者

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

I have开发者_开发百科 written the following code. But it is removing only &nbsp; not <br>

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


You can achieve removing <br> with CSS alone:

#some_element br {
  display: none;
}

If that doesn't fit your needs, and you want to really delete each <br>, it depends, if docDescription is really a string (then one of the above solutions should work, notably Matt Blaine's) or a DOM node. In the latter case, you have to loop through the br elements:

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

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

Edit: Why Matt Baline's suggestion? Because he also handles the case, where the <br> appears in an XHTML context with closing slash. However, more complete would be this:

/<br[^>]*>/


Try:

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


Try this

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


Try "\n"...see if it works.


What about:

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


This will depend on the input text but I've just checked that this works:

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


You can do it like this:

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

It works like a charm. No need for jQuery.


I using simple replace to remove &nbsp; and br tag.

JavaScript

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

jQuery

Remove br with remove() or replaceWith()

$('br').remove();

or

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜