从字符串创建 DOM 元素的首选本机方法之一jQuery是使用新DOMParser类。这个例子摘自MDN:
var parser = new DOMParser();
var doc = parser.parseFromString(aStr, "text/xml");
Run Code Online (Sandbox Code Playgroud)
我想知道在解析字符串之前需要实例化解析器的额外步骤是否有任何特殊原因。即为什么我们不能做类似的事情parseFromString(aStr, "text/xml");?
解析器对象看起来是多余的。DOMParser 构造函数甚至没有任何参数,并且它的实例除了 之外没有任何方法parseFromString。
如果我没记错的话,设置一个准备解析文本的 DOM 解析器是一项昂贵的操作(内存方面),因此为了节省为您访问的每个页面/选项卡设置 DOM 解析器所占用的内存,浏览器将清除它实例化的初始 DOM 解析器的内存(用于解析文档的源),除非您再次实例化它,否则该内存是清晰的。
如果需要,您可以使用您喜欢的浏览器中的分析器工具来查看实例化 DOM 解析器之前和之后内存的变化。
| 归档时间: |
|
| 查看次数: |
666 次 |
| 最近记录: |