【发布时间】:2017-07-21 01:02:27
【问题描述】:
我有一个span 和一个input 字段;当我在输入字段中输入该文本时,我想更改 span 中文本的颜色。
以下是我的代码:
我想,如果我输入错误的单词,那么那个单词会变成红色
var i=0;
var idx=0;
document.body.onkeydown = function(e){
if(e.keyCode == 32 )
{
highlight();
}
}
function highlight() {
var str= document.getElementById("pera").innerText.split(' ');
var text= str[i];
var wrdl = text.length;
var inputText = document.getElementById("pera");
var innerHTML = inputText.innerText;
var pretext = innerHTML.slice(0, idx);
var postext = innerHTML.slice(idx+text.length);
if ( idx >= 0 && text!="")
{
var highlightedText = pretext;
highlightedText += "<span class='highlight'>";
highlightedText += text;
highlightedText += "</span>";
highlightedText += postext;
document.getElementById("pera").innerHTML=highlightedText;
}
i++;
idx += parseInt(text.length+1);
}
.highlight
{
background-color:yellow;
}
<span id="pera">This paragraph is a value of span</span>
</br>
<input type="text" id ="inp" onfocus="highlight();" />
【问题讨论】:
-
你的 jquery 代码在哪里??
-
@priya_singh 你看到提到 jQuery 了吗?
-
@priya_singh 这可以使用纯 JS 来完成。为什么他需要 jQuery?
-
欢迎来到 SO,请展示您的尝试。另外,请阅读有关如何提问的帮助部分。
-
@Toastrackenigma ya...但是javascript代码在哪里?他试过什么???
标签: javascript html css highlighting