如何使用 JavaScript 获取 HTML 元素的大小(以字节为单位)?
我有一个代表对话的列表
<ul>
<li>hello</li>
<li>how are you?</li>
<li>fine thanks</li>
<li>nice to meet you</li>
<li>nice to mmet you too</li>
</ul>
我想将该对话保存到 localStorage,但 chrome 中的 localStorage 限制为 5MB,因此我需要知道列表的大小(以字节为单位)才能进行一些验证。
最佳答案
如果您尝试将元素转换为 HTML,那么您可以给出 <ul>
一个 ID 然后使用
var el = document.getElementById("convo");
var html = el.innerHTML;
window.alert(html.length);
或者,如果有很多标记并且您只想获取文本,您可以循环遍历 li
元素并仅提取文本并将其放入数组中。 JSON.stringify
结果并获取其长度。
编辑:
Javascript 使用 UCS-2
或UTF-16
在内部,两者都是16位编码。假设拉丁文本,<string>.length *2
应该是一个相当准确的估计。
关于javascript - HTML 元素大小(以字节为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12477241/