查找a的当前行的值<;textarea>;使用javascript
如何找到textarea当前行的值 我知道我必须找到插入符号的位置,但要找到它之前的所有内容直到最后一个\n,以及它之后的所有内容到下一个\n查找a的当前行的值<;textarea>;使用javascript,javascript,jquery,textarea,newline,Javascript,Jquery,Textarea,Newline,如何找到textarea当前行的值 我知道我必须找到插入符号的位置,但要找到它之前的所有内容直到最后一个\n,以及它之后的所有内容到下一个\n 我如何才能做到这一点?一个简单的方法就是循环: var caretPos = 53, // however you get it start, end ; for (start = caretPos; start >= 0 && myString[start] != "\n"; --start); for (end = c
我如何才能做到这一点?一个简单的方法就是循环:
var caretPos = 53, // however you get it
start, end
;
for (start = caretPos; start >= 0 && myString[start] != "\n"; --start);
for (end = caretPos; end < myString.length && myString[end] != "\n"; ++end);
var line = myString.substring(start + 1, end - 1);
var caretPos=53,//不管你得到什么
开始,结束
;
对于(start=caretPos;start>=0&&myString[start]!=“\n”--start);
对于(end=caretPos;end
根据nickf的回答,下面的示例(使用jQuery)可能要快一点,因为它使用了(lastI|i)ndexOf
:
function current_line(textarea) {
var $ta = $(textarea),
pos = $ta.getSelection().start, // fieldselection jQuery plugin
taval = $ta.val(),
start = taval.lastIndexOf('\n', pos - 1) + 1,
end = taval.indexOf('\n', pos);
if (end == -1) {
end = taval.length;
}
return taval.substr(start, end - start);
}
这就是。感谢indexOf方法!