携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情
- DOM经常进行的操作
获取元素;对元素进行操作(设置其属性或调用其方法);动态创建元素;事件(什么时机做相应的操作)
- 获取元素:根据id获取元素
方法:调用document对象的getElementByld方法
参数:字符串类型的id的属性值
返回值:对应id名的元素对象
注意:由于id名具有唯一性,部分浏览器支持直接使用id访问元素,但不是标准方法,不推荐使用,比如box.style.background = “blue”;(Chrome可以使用成功,这里box是html中一个id名),推荐使用getElementById方法
- 代码书写顺序问题:此段JavaScript代码须写在html结构之后,即body中 获取元素:根据标签名获取元素
方法:调用document对象的getElementsByTagName方法
参数:字符串类型的标签名
返回值:同名的元素对象组成的数组(HTMLCollection伪数组)
注意:操作时需要按照操作数组的方法进行
注意:数组无法使用style.background
注意:getElementsByTagName方法内部获取的元素是动态增加的(不存在代码书写顺序的问题)
- 获取元素:元素对象内部获取标签元素
获取的元素对象内部,本身也可以调用根据标签获取元素方法,例如div元素对象也可以调用getElementsmByTagName方法
目的:缩小选择元素的范围,类型css中的后代选择器
习惯将连续调用方式拆开书写
- 获取元素:根据name获取元素
方法:调用document对象的getElementsByName方法
参数:字符串类型的name属性值
返回值:name属性值相同的元素对象组成的数组(NodeList伪数组)
注意:不建议使用,在IE和Opear中有兼容问题,会多选中id属性值相同的元素
注意:选中的元素也是动态变化的
- 获取元素:根据类名获取元素
方法:调用document对象的getElementsByClassName方法
参数:字符串类型的class属性值
返回值:class属性值相同的元素对象组成的数组(HTMLCollection伪数组 )
浏览器兼容问题:不支持IE8及以下的浏览器
- 获取元素:根据选择器获取元素
方法1:调用document对象的querySelector方法,通过CSS中的选择器去选取第一个符合条件的标签元素
方法2:调用document对象的querySelectorAll方法,通过CSS中的选择器去选取所有符合条件的标签元素
参数:字符串类型的CSS中的选择器
浏览器兼容问题:不支持IE8以下的浏览器