[英]why string.length return undefined?
在彈出窗口中,selText確實具有值“great”,但長度始終undefined
。 與字符串編碼有關的東西?
var selText = document.getSelection(); //suppose "great" is selected
alert( "selected ->" + selText + " len is " + selText.length);
因為您正在獲取DOM選擇對象而不是String。 要獲取文本,請調用toString()
。
var selText = document.getSelection().toString();
字符串成功顯示在警報中的原因是連接導致隱式toString()
發生。
MDN文檔說明。
在上面的示例中,selObj在傳遞給window.alert時會自動“轉換”。 但是,要使用JavaScript String屬性或方法(如length或substr),必須手動調用toString方法。
- https://developer.mozilla.org/en/window.getSelection
它建議你調用document.getSelection().ToString().length;
不推薦使用的方法document.getSelection()嘗試使用window.getSelection()。
var selText = window.getSelection().toString();
if(selText)
{
alert( "selected ->" + selText + " len is " + (selText.length - 1));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.