删除br标签并保留所有其他标签

时间:2011-08-06 03:59:41

标签: jquery html

我只想删除br标签。

'<div class="temp">some content<br>and more<br><a href="#"> and more content</a></div>'

$('.temp br').contents().unwrap();

为什么这不起作用。

我也试过这个,因为我在stackoverflow上看到它但是也没有用。我在这两方面做错了什么。

$('.temp').contents().filter(function() {
  return this.nodeType == 3;
}).filter('br').remove();

3 个答案:

答案 0 :(得分:2)

这不起作用,因为它是错误的。试试这个:

$('.temp br').remove();

Demo

用空格替换它们:

$('.temp br').replaceWith("&nbsp;");

Demo

答案 1 :(得分:0)

这是一个有效的解决方案:http://jsfiddle.net/p6Mzu/。还有一个仅在链接中注释掉的CSS解决方案,因为这只会删除它们。 jQuery将<br>替换为&nbsp;

jQuery的:

$(".temp br").replaceWith("&nbsp;");

CSS:

.temp br { display: none; }

答案 2 :(得分:0)

$('.temp br').before('&nbsp;').remove();

http://api.jquery.com/before/
http://api.jquery.com/remove/