Javascript CreateContexturalFragment只是以字符串形式从字符串返回html

Javascript CreateContexturalFragment只是以字符串形式从字符串返回html,javascript,html,dom,Javascript,Html,Dom,很抱歉,这应该很简单。我只是有一个包含html的字符串,我想将它作为“真正的html”附加到el并返回显示 我的代码取自其他答案: let fragmentFromString = function (strHTML) { return document.createRange().createContextualFragment(strHTML); } let x = fragmentFromString(decodeURI("<span><B>Test</B

很抱歉,这应该很简单。我只是有一个包含html的字符串,我想将它作为“真正的html”附加到el并返回显示

我的代码取自其他答案:

let fragmentFromString = function (strHTML) {
  return document.createRange().createContextualFragment(strHTML);
}
let x = fragmentFromString(decodeURI("<span><B>Test</B> this</span>"));
el.appendChild(x);
let fragmentFromString=函数(strHTML){
返回document.createRange().createContextualFragment(strHTML);
}
设x=fragmentFromString(decodeURI(“测试”));
el.儿童(x);
但是,它所做的只是将包含html的文本作为子对象附加到el上。它实际上并没有创建节点并将“Test”加粗,等等

我在浏览器中看到的内容包括:

测试/B>此

我希望在我的浏览器中看到以下所有内容:

测试这个


我错过了什么简单的东西?谢谢。

简短回答,您使用的是
'decodeURI'
,在本例中是错误的,因为它不是编码的URI。 只要删除它,它就应该工作了


您应该在函数中使用html字符串。

为什么要使用“decodeURI”?删除那个,等等。解决了的。我的字符串是html编码的。它需要$(“”).html(value.text();谢谢你,波尔·巴基想标记波尔·巴克回答的问题,但看不出有什么办法。