十几年前的系统,只支持ie,里面针对表单的处理大量使用了form.all("itemname")方法,导致在目前IE外的主流浏览器上无法运行除了逐个修改为form["itemname"]之外,请问有没有别的办法可以直接改写form.all方法?比如引入一个公用js文件,在js文件中对form.all方法进行重写?谢谢!
2 回答
GCT1015
TA贡献1827条经验 获得超4个赞
更新-2019年2月12日17:46:15
可以看到form.__proto__
是HTMLFormElement
,可以直接修改这个的HTMLFormElement.prototype
。HTMLFormElement.prototype===form.__proto__
搞定了。你可以去上面那个demo里面看
var _form = document.createElement('form')if(!_form.__proto__.all){ _form.__proto__.all = function(name){ return this[name] } }
添加回答
举报
0/150
提交
取消