var doc=document.getElementById;
doc("某个元素id") 这样IE能操作,为什么其他浏览器不行。
var f=function(id){return document.getElementById(id)};
f(id);
chrome下报这个错:
TypeError: Illegal invocation
楼主不要太纠结这个事情了啊。
var doc=function(ele){document.getElementById(ele);}
调用 doc('某一ID');
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript"> window.onload = function () { var val = document.getElementById("test").value; alert(val); } </script> </head> <body> <form> <input id="test" type="text" value="abc" /> </form> </body> </html>
亲测没有任何问题
哈哈,这个目测就行。楼主的问题在于
var val = document.getElementById;
然后val("test");
不过这样的语法感觉不对。
lz想做个缩写吧? 这样不行的,因为getElementById是函数,如果是对象就没有问题
IE由很多不规范的地方,建议还是按标准化的方法去写