我有一个问题。我今天早上有工作,但我不知道怎么做。 我的工作(html):
<div class="demo">
<p>this is demo text</p>
</div>
这是我的JS:
var tempdata = $(".demo").text();
var replacedata = tempdata.replace("text","<span>1234</span>");
看一切都好。但结果是:this is demo <span>1234</span>
。这不是我想要的结果。如何使用replace方法使这个字符串成为HTMLelement?
答案 0 :(得分:1)
document.getElementById('demo').firstElementChild.innerHTML =
document.getElementById('demo').firstElementChild.innerHTML.replace(/text/, "<span>1234</span>");
答案 1 :(得分:1)
重新分配值时,请使用.html()
代替.text()
,这样就不会对其进行编码,如下所示:
var tempdata = $(".demo").text();
var replacedata = tempdata.replace("text","<span>1234</span>");
$(".demo").html(replacedata);
此外,如果您对多个元素执行此操作,则可以将方法传递给.html()
,如下所示:
$(".demo").html(function(i, h) {
return h.replace("text","<span>1234</span>");
});
请注意,这也使用.html()
作为源,但对示例代码没有任何区别。