我用document的方法操作dom没有问题,但是用Document就提示没有这个方法,难道这两个不是一个么
如果说没有Document,那为什么火狐社区上有
还是说火狐社区这里只是为了保持首字母大写?
我用document的方法操作dom没有问题,但是用Document就提示没有这个方法,难道这两个不是一个么
如果说没有Document,那为什么火狐社区上有
还是说火狐社区这里只是为了保持首字母大写?
mdn上 这一页说的是接口 interface
Document
实际使用是 document
你注意看下 页面大小写区分是很明显的
另外js
是区分大小的,所以火狐不会为了保持首字母大写而将d
大写
其实Document.getElementById和document.getElementById这两种写法从对象和方法的关系上讲都是正确的,w3c官网上明文定义getElementById就是Document对象的方法,而document是因为间接继承了Document对象所以也可以调用getElementById方法。而楼主写了报错是因为忽视了window对象,window对象是BOM的顶层对象,在纯js文件的当前窗口内对属性/方法进行访问时应该从顶级对象window向下一级级写属性和方法并且window可以省略。而关键问题在于document是window的属性而Document不是其属性(1.可以通过打印window的所有属性去验证2.属性的值可以是对象),所以楼主写法报错。通常的window.alert,window.document.getElementById等都是从window开始写并且可以省略window.,写成alert和document.getElementById。
10 回答11.2k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
首字母大写是类名的习惯啊,这页列出来的都是初始的构造函数所开放出来的属性和方法,实际用的都是实例化出来的 document 对象嘛,所以当然都是小写咯。