javascript - HTML 元素大小(以字节为单位)

标签 javascript jquery google-chrome html-lists

如何使用 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-2UTF-16在内部,两者都是16位编码。假设拉丁文本,<string>.length *2应该是一个相当准确的估计。

关于javascript - HTML 元素大小(以字节为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12477241/

相关文章:

javascript - 我是否必须将 token 存储在 cookie、localstorage 或 session 中?

javascript - 输入验证 - 如何允许退格键在我的方法中工作

javascript - 使用 jquery 删除 div 元素而不删除其中的任何内容

jQuery 汉堡菜单没有出现

jquery - 单击时选中单选框

css - 如何更改 chrome 滚动条的填充位置?

javascript - 使用 Selenium + JavaScript 或 WebDriverJS 在浏览器中执行 JavaScript

javascript - jQuery UI 自动完成 JSON 错误

css - :not() selector not behaving the same between Safari and Chrome/Firefox

c++ - Chromium 嵌入式 64 位构建