Javascript 使HTML文本加粗

Javascript 使HTML文本加粗,javascript,html,bold,Javascript,Html,Bold,我编写了这个函数,它接收一个单词作为输入,并将其放入标记中,以便在HTML中呈现时将其加粗。但是当它确实被渲染时,这个词不是粗体的,而是只有标记环绕着它 以下是函数: function delimiter(input, value) { return input.replace(new RegExp('(\\b)(' + value + ')(\\b)','ig'), '$1<b>$2</b>$3'); } 我基本上得到了delimiter函数的结果,并更改了子

我编写了这个函数,它接收一个单词作为输入,并将其放入
标记中,以便在HTML中呈现时将其加粗。但是当它确实被渲染时,这个词不是粗体的,而是只有
标记环绕着它

以下是函数:

function delimiter(input, value) {
    return input.replace(new RegExp('(\\b)(' + value + ')(\\b)','ig'), '$1<b>$2</b>$3');
}
我基本上得到了delimiter函数的结果,并更改了子节点的
nodeValue

我收回函数返回给我的内容的方式是否可能有问题

我就是这么做的:

children[child].nodeValue = output;

您需要将标记处理为HTML,而不是仅仅设置为替换文本节点中的现有内容。为此,请替换该语句

children[child].nodeValue= output; 
通过以下方式:

var newNode = document.createElement('span');
newNode.innerHTML = output;
document.body.replaceChild(newNode, children[child]); 

您需要将标记处理为HTML,而不是仅仅设置为替换文本节点中的现有内容。为此,请替换该语句

children[child].nodeValue= output; 
通过以下方式:

var newNode = document.createElement('span');
newNode.innerHTML = output;
document.body.replaceChild(newNode, children[child]); 

它是如何呈现的?您正在使用某种框架吗?如何将其放回DOM中?信不信由你。另外,要成为一个语义坚持者,我认为你应该使用
标记,而不是
标记。我在我的问题中添加了一些额外的信息。就像@akaDevo提到的,我认为我把它放回DOM的方式有问题。我认为我们需要你试图用HTML来呈现它。我已经在编辑中添加了我的整个HTML和JS!谢谢它是如何呈现的?您正在使用某种框架吗?如何将其放回DOM中?信不信由你。另外,要成为一个语义坚持者,我认为你应该使用
标记,而不是
标记。我在我的问题中添加了一些额外的信息。就像@akaDevo提到的,我认为我把它放回DOM的方式有问题。我认为我们需要你试图用HTML来呈现它。我已经在编辑中添加了我的整个HTML和JS!谢谢