簡體   English   中英

為什么string.length返回undefined?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM