Opera下cloneNode的bug_Web标准教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
缂傚倸鍊风粈浣该洪敃鍌氱劵缂佲偓閹辩eCMS闂佽崵鍠愰悷銉ノ涘┑瀣ㄢ偓鍌炲醇閺囩偞鐎┑鐐叉閸ㄧ喖寮婚敓锟�濠电偞鍨跺瑙勭珶閸℃稑鐓橀柡宥庡幗閳锋帡鏌ㄩ悤鍌涘 缂傚倷绀侀ˇ閬嶅窗閹邦剨鑰块柛銉墮缁€澶愭煃閵夈劍鐝柣婵撴嫹 闂傚倷绶¢崑鍕囨潏鈺冪濠㈣泛鏈崗婊堟煛閸ャ劍鐨戦梻澶婄Ч閺屻倖娼忛妸锔绘缂備焦鍞婚幏锟� 闂備礁鎼崯鐗堟叏閹绢喖妞介柡宥庡亞閸楁碍绻涢崱妯诲鞍婵絾鍔楅埀顒冾潐閹爼宕曢柆宥呯煑闁跨噦鎷�,闂備浇鐨崟顐㈠Б闁诲氦顫夋繛濠傤嚕閸洖绀冩い鏂垮悑椤忕喐绻涢幋鐐村皑闁稿鎹囧鍝勨枎閹勭亪闂佸憡鐟ョ换妯侯嚕婵犳碍鏅搁柨鐕傛嫹!
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 即可。
相关Web标准教程:
- 相关链接:
- 教程说明:
Web标准教程-Opera下cloneNode的bug
。