我有
<div class="test">hello everyone</div>
我想改变这个div中的每个你好
<h1>helllo</h1>
例如我用过
$(this).text().replace("hello", "<h1>hello<h1>");
但它输出
<h1>hello</h1>
我希望它适用于HTML而不是文本我该怎么办?
如果您对纯JavaScript方法感兴趣,可以使用innerHTML()属性用html替换字符串,如下所示:
var x = document.querySelector(".test");
x.innerHTML = x.innerHTML.replace("hello", "<h1>hello</h1>");
<div class="test">hello everyone</div>
您的代码仅替换返回的文本。它也不会在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>
.html()访问和更改html,正则表达式用qazxsw poi替换你好
<h1>hello</h1>
嘿,我想在我的div中强调一个代码,但由于我没有很多时间去做,所以我只是用$(this).html($(this).html().replace(/hello/g,"<h1>helllo</h1>"));
来做到这一点,但我仍然在寻找一个好主意
您为此替换编写的代码非常好,但替换特定部分,您将替换完整的div数据
1.)将div内容存储到变量,例如var myDiv
2.)替换所需的内容
3.)将替换部分放回音乐中
例
highlight.js