JQuery的html(data)方法與<script>腳本塊的解決方法
更新時間:2010年03月09日 21:23:59 作者:
在使用Jquery的html(data)方法執(zhí)行寫數(shù)據(jù)到Dom元素時遇到一個問題:在data參數(shù)中包含script腳本塊的時候,html(data)方法的執(zhí)行結(jié)果與預期不符
“今天才注意到jQuery(...).html()方法返回的HTML會過濾掉所有的<script>塊,但有時候,特別是在AJAX應用中,常常是需要保留HTML中的<script>塊的,比如局部更新含腳本的內(nèi)容,此時切忌不要用html()來讀寫HTML,還是要老老實實用elem.innerHTML。今天因為這個問題浪費了1個小時,特此給大家提個醒?!?
經(jīng)過測試發(fā)現(xiàn),新版本(1.3.2之后的,之前版本未考證過)的jQuery(...).html()方法已經(jīng)不存在該問題(html()方法是一個讀Dom元素數(shù)據(jù)的操作),但是當用html(data)方法寫數(shù)據(jù)到Dom元素并且data參數(shù)中包含script腳本時,又出現(xiàn)了異?,F(xiàn)象:在Firefox(我用的3.6)瀏覽器下執(zhí)行上述操作,data參數(shù)里面的script腳本會自動運行,引起頁面破相、異常等錯誤,比如我遇到的問題就是:在script中存在document.write方法時,在執(zhí)行完html(data)操作后整個頁面的原有的dom元素都消失了,只剩下document.write()方法的執(zhí)行結(jié)果,引起了頁面破相;具體原因待討論,最后還是用elem.innerHTML=data這種方式解決了這個問題,特此標記。
經(jīng)過測試發(fā)現(xiàn),新版本(1.3.2之后的,之前版本未考證過)的jQuery(...).html()方法已經(jīng)不存在該問題(html()方法是一個讀Dom元素數(shù)據(jù)的操作),但是當用html(data)方法寫數(shù)據(jù)到Dom元素并且data參數(shù)中包含script腳本時,又出現(xiàn)了異?,F(xiàn)象:在Firefox(我用的3.6)瀏覽器下執(zhí)行上述操作,data參數(shù)里面的script腳本會自動運行,引起頁面破相、異常等錯誤,比如我遇到的問題就是:在script中存在document.write方法時,在執(zhí)行完html(data)操作后整個頁面的原有的dom元素都消失了,只剩下document.write()方法的執(zhí)行結(jié)果,引起了頁面破相;具體原因待討論,最后還是用elem.innerHTML=data這種方式解決了這個問題,特此標記。
相關(guān)文章
Jquery easyui 實現(xiàn)動態(tài)樹
本文給大家介紹jquery easyui實現(xiàn)動態(tài)樹,本文通過代碼實例相結(jié)合的方式給大家展示jquery easyui實現(xiàn)動態(tài)樹的過程,感興趣的朋友一起學習吧2015-11-11Jquery 動態(tài)循環(huán)輸出表格具體方法
這篇文章主要介紹了Jquery 動態(tài)循環(huán)輸出表格具體方法,有需要的朋友可以參考一下2013-11-11JQuery WEUI Select 組件增加搜索欄示例demo
這篇文章主要介紹了JQuery WEUI Select 組件增加搜索欄示例demo,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-10-10jquery實現(xiàn)文字單行橫移或翻轉(zhuǎn)(上下、左右跳轉(zhuǎn))
本文詳細介紹了jquery實現(xiàn)單行橫移或翻轉(zhuǎn)(上下、左右跳轉(zhuǎn))的方法。具有一定的參考價值,下面跟著小編一起來看下吧2017-01-01