Opera, 作為 A-Grade 瀏覽器,在現(xiàn)在的前端開發(fā)中務必支持。它很優(yōu)秀,很不幸,bug是每個瀏覽器都不可避免的問題,Opera亦難免。說說我發(fā)現(xiàn)的一個關于 cloneNode 的問題。
問題:
假設我們有一個 Form 節(jié)點(node)的引用,姑且名之為 elForm,現(xiàn)在需要克隆一份,可以這么做:var elFormClone = elForm.cloneNode(true).
在插入這份克隆到 DOM 樹中后,IE, Firefox 均未發(fā)現(xiàn)問題。Opera會產(chǎn)生這樣的問題:表單內(nèi)的字段無法引用。比如,假設剛才我們的elForm 有一個 <input name="title" ... />, 此時你無法通過 elFormClone.title 或者 elFormClone['title'] 獲取它。
解決方案:
使用 document.createElement 創(chuàng)建 form 元素,然后設置該元素的 innerHTML(感謝 MS 發(fā)明了它) 為elForm 的 innerHTML 即可:
var elFormClone = document.createElement('form'); // 設置一些elForm的原屬性,有必要的話 ... elFormClone.innerHTML = elForm.innerHTML; // 處理這個clone, 該咋辦就咋辦了 ...
本文鏈接:http://www.95time.cn/tech/web/2007/5101.asp
出處:Realazy
責任編輯:moby
◎進入論壇網(wǎng)頁制作、WEB標準化版塊參加討論,我還想發(fā)表評論。
|