讓我們假設我讀了文本節點的,像這樣的內容:如何統計文本節點中有多少個字符實際顯示在網頁上?
s = current_node.getSelection().anchorNode.nodeValue;
什麼是算多少字符顯示在網頁上,由於這一個節點的最佳方式?我知道例如
將顯示爲一個文字字符串,因此不需要查找這些字符串。那麼我需要做的就是將一排中的幾個空格作爲一個字符來計算嗎?還有什麼我需要注意的嗎?
讓我們假設我讀了文本節點的,像這樣的內容:如何統計文本節點中有多少個字符實際顯示在網頁上?
s = current_node.getSelection().anchorNode.nodeValue;
什麼是算多少字符顯示在網頁上,由於這一個節點的最佳方式?我知道例如
將顯示爲一個文字字符串,因此不需要查找這些字符串。那麼我需要做的就是將一排中的幾個空格作爲一個字符來計算嗎?還有什麼我需要注意的嗎?
你可以向瀏覽器的什麼在這樣的節點文本版本:
var node = current_node.getSelection().anchorNode;
var text = node.textContent || node.innerText;
var length = text.length;
這將已經轉換實體到他們的常規字符,並且不包含任何HTML標記。多個空間會出現多個空間 - 這就是瀏覽器中這個功能的作用。如果你是相當肯定,有沒有多的HTML
序列,你可能崩潰的多個空格這樣的:
var node = current_node.getSelection().anchorNode;
var text = node.textContent || node.innerText;
text = text.replace(/ +/g, " ");
var length = text.length;
這取決於您是如何字面上定義「顯示在網頁上」。如果字符溢出容器溢出:隱藏,它們將不會顯示在網頁上(由於它們被CSS規則隱藏)。
除此之外,凝結了一系列的空格,忽略逃脫換行符和回車(如果適用,像<預> < /預>)和冷凝轉義字符應該是你所需要的。至少我不能想到其他邊緣情況。
...'text.length' – Ben