shaz shaz - 5 months ago 36
jQuery Question

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,"");

Answer

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[^>]*>/
Comments