所以,我有一些文本,看起来像:
<div class="content__main">
<p>This is some text<br>
This is another line<br>
Third line goes here<br>
How about one more</p>
</div>
我想做的是用JavaScript或者jQuery找到<br>
标签,替换成</p><p>
标签,内容是自动生成的,不能自己添加。
我希望它看起来像:
<div class="content__main">
<p>This is some text</p>
<p>This is another line</p>
<p>Third line goes here</p>
<p>How about one more</p>
</div>
我试过:
<script type="text/javascript">
$(function(){
$('.content__main').replace(/<br>\\*/g,"</p><p>"));
});
</script>
但这似乎没有任何作用,我想我已经很接近了,有人能给我解释一下吗?
谢谢你,
乔希
2条答案
按热度按时间jjhzyzn01#
编辑:将
querySelector
更改为querySelectorAll
,并使用for of
以支持多个class="content__main"
元素简单,不安全的方式
您可以在
innerHTML
上执行replace
并将其设置为元素。更安全的方法来防止未关闭的标签
为了防止丢失结束标记,更安全的方法是:
1.获取
innerHTML
1.换行时拆分
1.对于每一行;
trim()
空格p
并添加文本div
一个二个一个一个
ojsjcaue2#
因此,您的问题是,您正在jQuery对象
$('.content__main')
上使用.replace
,这是JavaScript默认字符串函数-您需要将其HTML值作为字符串来执行.replace
。您肯定不需要jQuery来完成此操作,但如果您使用它,代码可能如下所示: