opera, 作為 a-grade 瀏覽器,在現在的前端開發中務必支持。它很優秀,很不幸,bug是每個瀏覽器都不可避免的問題,opera亦難免。說說我發現的一個關于 clonenode 的問題。
問題:
假設我們有一個 form 節點(node)的引用,姑且名之為 elform,現在需要克隆一份,可以這么做:var elformclone = elform.clonenode(true).
在插入這份克隆到 dom 樹中后,ie, firefox 均未發現問題。opera會產生這樣的問題:表單內的字段無法引用。比如,假設剛才我們的elform 有一個 <input name="title" ... />, 此時你無法通過 elformclone.title 或者 elformclone['title'] 獲取它。
解決方案:
使用 document.createelement 創建 form 元素,然后設置該元素的 innerhtml(感謝 ms 發明了它) 為elform 的 innerhtml 即可:
var elformclone = document.createelement('form');
// 設置一些elform的原屬性,有必要的話
...
elformclone.innerhtml = elform.innerhtml;
// 處理這個clone, 該咋辦就咋辦了
...
新聞熱點
疑難解答