在javascript中设置子字符串的样式

在javascript中设置子字符串的样式,javascript,styles,substring,Javascript,Styles,Substring,嗨,我正在尝试用javascript设计一个子字符串。这是我的密码: function runtest(){ document.getElementById("test1").innerHTML.substring(0,2).style.fontStyle="italic"; } 子字符串函数可以工作,但当我添加样式时,错误控制台会给我一个“未定义”的错误。我如何使用javascript设置此子字符串的样式?两个选项: innerHTML解决方案警告:这将删除您正在执行此操作的元素中任

嗨,我正在尝试用javascript设计一个子字符串。这是我的密码:

function runtest(){
    document.getElementById("test1").innerHTML.substring(0,2).style.fontStyle="italic";
}
子字符串函数可以工作,但当我添加样式时,错误控制台会给我一个“未定义”的错误。我如何使用javascript设置此子字符串的样式?

两个选项:

  • 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);
    
    splitText
    在以前只有一个文本节点的位置创建两个相邻的文本节点,拆分点位于指定的偏移处。然后我们取第一个并将其包装在
    span

    |

  • 两种选择:

  • 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);
    
    splitText
    在以前只有一个文本节点的位置创建两个相邻的文本节点,拆分点位于指定的偏移处。然后我们取第一个并将其包装在
    span

    |


  • 将其包装在
    span
    中,添加一个类,并设置样式。只有元素有样式属性,字符串没有。现在我向span中添加了样式(我使用javascript设置了样式),它将不会打印子字符串。将其包装在
    span
    中,添加一个类,并设置样式。只有元素有样式属性,字符串没有。现在我向span添加了一个样式(我使用javascript设置了样式),它将不会打印出子字符串。