用法
jQuery.parseHTML( data [, context ] [, keepScripts ] ) => Array
jQuery.parseHTML( data [, context ] [, keepScripts ] ) => Array
说明:将字符串解析为 DOM 节点数组。
-
添加的版本:1.8
jQuery.parseHTML( data [, context ] [, keepScripts ] )
jQuery.parseHTML
使用本地方法将字符串转换为一组 DOM 节点,然后可以将其插入到文档中。这些方法会渲染所有尾随或前导文本(即使这只是空格)。为了防止尾随/前导空格被转换为文本节点,您可以通过
传递 HTML 字符串。jQuery.trim
默认情况下,如果未指定或指定为 null
或 undefined
,则 context
是当前的 document
。如果要在另一个文档(例如 iframe)中使用 HTML,则可以使用该框架的文档。
从 3.0 开始,默认行为已更改。如果 context
未指定或指定为 null
或 undefined
,则使用新的 document
。这可能会提高安全性,因为在解析 HTML 时不会执行内联事件。一旦解析后的 HTML 被注入到文档中,它就会执行,但这让工具有机会遍历创建的 DOM 并删除任何被认为不安全的内容。此改进不适用于 jQuery.parseHTML
的内部使用,因为它们通常传入当前的 document
。因此,像$( "#log" ).append( $( htmlString ) )
这样的语句仍然会受到恶意代码的注入。
安全注意事项
大多数接受 HTML 字符串的 jQuery API 将运行 HTML 中包含的脚本。 jQuery.parseHTML
不会在解析的 HTML 中运行脚本,除非 keepScripts
是明确的 true
。但是,在大多数环境中仍然可以间接执行脚本,例如通过<img onerror>
属性。调用者应该意识到这一点,并通过清除或转义来自 URL 或 cookie 等来源的任何不受信任的输入来防范它。为了将来的兼容性,调用者不应依赖于 keepScripts
未指定或 false
时运行 any
脚本内容的能力。
例子:
使用 HTML 字符串创建一个 DOM 节点数组并将其插入到 div 中。
|
演示:
相关用法
- JQuery jQuery.parseJSON()用法及代码示例
- JQuery jQuery.parseXML()用法及代码示例
- JQuery jQuery.param()用法及代码示例
- JQuery jQuery.proxy()用法及代码示例
- JQuery jQuery.post()用法及代码示例
- JQuery jQuery.inArray()用法及代码示例
- JQuery jQuery.when()用法及代码示例
- JQuery Mobile jQuery.mobile.path.get()用法及代码示例
- JQuery jQuery.grep()用法及代码示例
- JQuery Mobile jQuery.mobile.navigate()用法及代码示例
- JQuery Mobile jQuery.mobile.path.isRelativeUrl()用法及代码示例
- JQuery jQuery.dequeue()用法及代码示例
- JQuery jQuery.escapeSelector()用法及代码示例
- JQuery Mobile jQuery.mobile.silentScroll()用法及代码示例
- JQuery jQuery.cssNumber用法及代码示例
- JQuery jQuery.map()用法及代码示例
- JQuery jQuery.readyException()用法及代码示例
- JQuery jQuery.contains()用法及代码示例
- JQuery Mobile jQuery.mobile.path.makePathAbsolute()用法及代码示例
- JQuery jQuery.each()用法及代码示例
- JQuery jQuery.unique()用法及代码示例
- JQuery jQuery.getJSON()用法及代码示例
- JQuery jQuery.ajaxSetup()用法及代码示例
- JQuery jQuery.type()用法及代码示例
- JQuery jQuery.cssHooks用法及代码示例
注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 jQuery.parseHTML()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。