我有多个文本节点,我想用html替换其中的一些文本:
<pre>{
"data": [
{
"source": "<a href=www.e.com>e.com</a>",
"created_time": "2015-11-13T06:16:09+0000",
"id": "913680432051814"
},
{
"source": "<a href=www.e.com>e.com</a>",
"created_time": "2015-11-13T06:16:02+0000",
"id": "913680355385155"
},
{
"source": "<a href=www.e.com>e.com</a>",
"created_time": "2015-11-13T06:16:00+0000",
"id": "913680332051824"
}
</pre>
我想将<a>
标记添加到ID号。
我在尝试:
x=$("pre")
.contents()
.filter(function() {
return this.nodeType === 3
});
trying to replace on any element. i am trying with x[0]
rep = x[0].data.replace(//\"id\": \"(.*)\",/, "/\"id\": \"<a href=\"https:example.com/\$1\">$1</a>\"")
然后尝试
x[0].replaceWith(rep)
它说x [0] .replaceWith不是函数
那么如何用html元素替换文本?
答案 0 :(得分:0)
我尝试了下面的工作。使用$(this)工作。
x=$("pre")
.contents()
.filter(function() {
return this.nodeType === 3
})
.each(function(){
rep = this.data.replace(//\"id\": \"(.*)\",/, "/\"id\": \"<a href=\"https:example.com/\$1\">$1</a>\"")
$(this).replaceWith(rep); //when i used $(this) it worked.
})