我试图弄清楚如何使用jQuery突出显示输入框内部文本的某些部分。突出显示输入框的全部内容非常简单,但如何突出显示一个单词或几个字母?
谢谢!
答案 0 :(得分:33)
对于文本<input>
元素,以下内容将完成此任务。该示例仅在输入中选择单词“two”:
function setInputSelection(input, startPos, endPos) {
input.focus();
if (typeof input.selectionStart != "undefined") {
input.selectionStart = startPos;
input.selectionEnd = endPos;
} else if (document.selection && document.selection.createRange) {
// IE branch
input.select();
var range = document.selection.createRange();
range.collapse(true);
range.moveEnd("character", endPos);
range.moveStart("character", startPos);
range.select();
}
}
document.getElementById("setSelection").onmousedown = function() {
var input = document.getElementById("i");
setInputSelection(input, 4, 7);
return false;
};
<input id="i" type="text" value="One two three">
<input type="button" value="Set selection" id="setSelection">
答案 1 :(得分:-3)
您需要选择整个值,然后在代码中操作字符串。根据您尝试对单词执行的操作,您可能会使用正则表达式来匹配某些单词/字母。