2015-11-18 50 views
1

我正在开发一个小型拼写程序,我将需要更改拼写错误的字母的颜色。这是我尝试过的。此代码检测拼写错误,但不会更改拼写错误的字母的颜色:使用javascript更改字符串中最后一个字母的颜色

$("#inputfield").keyup(function() { 
    var inputstring = document.getElementById("inputfield").value; 
    var inputlng = inputstring.length; 

    if (stavningsord.indexOf(inputstring)!=0) { 
     // alert ("Misspell"); 
     var html = document.getElementById("inputfield"); 
     var containedhtml = html.innerHTML; 
     html.innerHTML = containedhtml.substr(0, containedhtml.length-1) + "<span style='color: red'>" + html.innerHTML.substr(-1) + "</span>"; 
     // $("#inputfield").html = (inputstring.substr(0, inputstring.length-1) + "<span style='color: red'>" + $(this).html().substr(-1) + "</span>"); 
     alert ("Misspell"); 
    } 

}); 

任何帮助表示赞赏!

+0

[有没有一种方法来设置输入字段值的一部分?](http://stackoverflow.com/questions/3121683/is-there-a-way-to-style-part-of-一个输入字段值) – Stephan

回答

1

不幸的是,作为<input>标签是一个系统控制,你不能(容易/理智地)在它内部设计一个字母。

如果你想坚持这一点,你会想要将<input>更改为隐藏字段,并使用JS/CSS来构建一个“假”<input>标签,同时更新隐藏字段。这会给你无限的风格灵活性。

相关问题