Javascript 如何在函数中附加html元素

Javascript 如何在函数中附加html元素,javascript,html,escaping,decode,Javascript,Html,Escaping,Decode,这是我从函数中得到的代码: .text(function (d, i) { return data[i].label + " <tspan style='font-weight:700;'>(" + data[i].value + ")</tspan>" }); .text(函数(d,i){返回数据[i].label+”(“+data[i].value+”)}); 但是它输出马可·茨潘style='font-weight:700;'(7) /tspan和notMARC

这是我从函数中得到的代码:

.text(function (d, i) { return data[i].label + " <tspan style='font-weight:700;'>(" + data[i].value + ")</tspan>" });
.text(函数(d,i){返回数据[i].label+”(“+data[i].value+”)});
但是它
输出
马可·茨潘style='font-weight:700;'(7) /tspan
和not
MARCO(7)

所以它不是像HTML那样的evalutate。在“注入”文本之前,我应该在哪里解码文本?

使用
html()
而不是
text()
text()
将对字符串进行编码并将其添加到DOM中

.html(function (d, i) {
    return data[i].label + " <tspan style='font-weight:700;'>(" + data[i].value + ")</tspan>"
});
.html(函数(d,i){
返回数据[i]。标签+”(“+data[i]。值+”)
});
来自:“我们需要注意,此方法将根据需要转义提供的字符串,以便在HTML中正确呈现。为此,它调用DOM方法。createTextNode()不会将字符串解释为HTML。”。在使用不熟悉的方法之前,请务必阅读文档。