js - 使用replace方法替换html元素

时间:2010-05-14 02:15:16

标签: javascript html methods replace

我有一个问题。我今天早上有工作,但我不知道怎么做。 我的工作(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?

2 个答案:

答案 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);​​​​​​

You can see a demo here

此外,如果您对多个元素执行此操作,则可以将方法传递给.html(),如下所示:

$(".demo").html(function(i, h) {
    return h.replace("text","<span>1234</span>");
});​

请注意,这也使用.html()作为源,但对示例代码没有任何区别。

You can see a demo of that here