在弹出窗口中,selText的值为“great”,但长度始终为undefined
。与字符串编码有关的东西?
var selText = document.getSelection(); //suppose "great" is selected
alert( "selected ->" + selText + " len is " + selText.length);
答案 0 :(得分:30)
因为您正在获取DOM选择对象而不是String。要获取文字,请致电toString()
。
var selText = document.getSelection().toString();
字符串成功显示在警报中的原因是连接导致隐式toString()
发生。
答案 1 :(得分:2)
在上面的例子中,selObj是 通过时自动“转换” 到window.alert。但是,使用一个 JavaScript String属性或方法 例如长度或子字符,你必须 手动调用toString方法 - https://developer.mozilla.org/en/window.getSelection
建议您拨打document.getSelection().ToString().length;
答案 2 :(得分:0)
不推荐使用的方法document.getSelection()尝试使用window.getSelection()。
var selText = window.getSelection().toString();
if(selText)
{
alert( "selected ->" + selText + " len is " + (selText.length - 1));
}