我正在导入Facebook RSS提要,许多帖子都缺少标题。因此,在这种情况下,我想从正文中提取一些内容并将其用作标题。问题是身体内容看起来像这样......
Lorem ipsum<br>www.youtube.com<br>dolor sit amet.
我不能简单地删除br标签,因为它将成为句子上的运行。我宁愿用一个空格替换标签或用空格替换逗号。我已经尝试了以下代码,但它似乎没有起作用。
$('.teaser-title br').replaceWith(' ');
思想?
答案 0 :(得分:12)
2可能出现的问题
teaser-title
的元素。 无论如何,这是有效的
<div class="teaser-title">
Lorem ipsum<br>www.youtube.com<br>dolor sit amet.
</div>
<script>
$(function() {
$('.teaser-title br').replaceWith(' ');
});
</script>
答案 1 :(得分:4)
发布,因为它可以完成!可以使用CSS:P
(仅适用于webkit,因此不推荐)
.teaser-title br{
content:"";
}
.teaser-title br:after{
content:" ";
}
<强> Live Demo 强>
答案 2 :(得分:2)
$(function() {
$(".teaser-title br").replaceWith(" ");
});
答案 3 :(得分:1)
答案 4 :(得分:0)
您希望将内容替换为文本,而不是标记:
$('.teaser-title').html($('.teaser-title').html().replace(/<br />/g,' '))
答案 5 :(得分:0)
你正在尝试替换元素,如果.teaser-title是你的容器元素,你必须只替换.teaser-title的innerHtml。
试试这个
var container = $(".teaser-title").html();
var regex = /<br\s*[\/]?>/gi;
$(".teaser-title").html(container.replace(regex, " "));
答案 6 :(得分:0)
您的代码效果很好。 这是另一种方式:
$('.teaser-title br').after(' ').remove();
//$('.teaser-title br').replaceWith(' '); // your solution works too!