使用jQuery用div中的HTML替换字符串

问题描述 投票:0回答:5

我有

<div class="test">hello everyone</div>

我想改变这个div中的每个你好

<h1>helllo</h1>

例如我用过

$(this).text().replace("hello", "<h1>hello<h1>");

但它输出

<h1>hello</h1>

我希望它适用于HTML而不是文本我该怎么办?

jquery html
5个回答
0
投票

如果您对纯JavaScript方法感兴趣,可以使用innerHTML()属性用html替换字符串,如下所示:

var x = document.querySelector(".test");
x.innerHTML = x.innerHTML.replace("hello", "<h1>hello</h1>");
<div class="test">hello everyone</div>

1
投票

您的代码仅替换返回的文本。它也不会在DOM中取代,它只会在javascript中。所以在替换文本后,使用.html()渲染返回的值

var $myDiv = $('.test');
$myDiv.html($myDiv.text().replace("hello", "<h1>hello</h1>"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="test">hello everyone</div>

0
投票

.html()访问和更改html,正则表达式用qazxsw poi替换你好

<h1>hello</h1>

0
投票

嘿,我想在我的div中强调一个代码,但由于我没有很多时间去做,所以我只是用$(this).html($(this).html().replace(/hello/g,"<h1>helllo</h1>")); 来做到这一点,但我仍然在寻找一个好主意


-3
投票

您为此替换编写的代码非常好,但替换特定部分,您将替换完整的div数据

1.)将div内容存储到变量,例如var myDiv

2.)替换所需的内容

3.)将替换部分放回音乐中

highlight.js
© www.soinside.com 2019 - 2024. All rights reserved.