风格JavaScript的一个子(Style a substring in javascript)

2019-10-18 10:54发布

你好我试图风格javascript中的字符串。 这里是我的代码:

function runtest(){
    document.getElementById("test1").innerHTML.substring(0,2).style.fontStyle="italic";
}

该子功能的工作原理,但是当我添加样式的错误控制台给我的错误“不确定”。 我怎样才能的作风,串用JavaScript?

Answer 1:

有两种选择:

  1. 一个innerHTML解决方案。 警告 :这将删除你在做它的元素中的任何元素的任何事件处理程序。 我在这里提到它主要是让我可以指出这一点:

     var elm = document.getElementById("test1"); var html = elm.innerHTML; elm.innerHTML = '<span style="font-style: italic">' + html.substring(0, 2) + '</span>' + html.substring(2); 
  2. 使用splitText 。 在这里我假设你想在一个跨度来包装文本元素中的第一个文本节点。 你会在元素不会弄乱事件处理程序:

     var elm = document.getElementById("test1"); var node = elm.firstChild; var span = document.createElement('span'); node.splitText(2); span.style.fontStyle = "italic"; elm.insertBefore(span, node); span.appendChild(node); 

    splitText创造那里曾经是一个两个相邻的文本节点,与分割点是在偏移指定。 然后,我们采取的第一个,并在其包装span

    活生生的例子 | 实时源



文章来源: Style a substring in javascript