用法
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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。