WebAPIs基本操作

html-css09

WebAPIs基本操作,第1张

1、作用: 制作网页特效和用户交互

2、组成:

1)DOM:操作页面元素;(document顶级对象)

2)BOM:操作浏览器。

1)优点:灵活, 所有CSS选择器都可以使用;

2)获取单个元素:document.querySelector('选择器'),选择器不存在的话,获取结果为null,结果可以直接使用;

3)获取多个同一类元素:document.querySelectorAll('选择器'),拿到的结果: NodeList伪数组,通过遍历数组获取对应元素。

PS:伪数组:存在着length属性,可以通过数组下标的方式进行每个元素的访问,但是不能够使用push等数组的方法。

1)getElementById('id值'): 获取单个元素;

2)getElementsByTagName('标签名'):获取多个同一类元素;(伪数组)

3)getElementsByClassName('类名'): 获取多个同一类元素。(伪数组)

1)a的href,img的src、alt、title等;

2)属性: 可以访问, 也可以修改

3)语法: 元素.属性名 = 属性值

1)innerText:针对文本: 不识别标签;

2)innerHTML:针对所有: 包括标签;(常用,innerHTML可实现innerText功能)

1)行内样式:

适用于: 单行样式修改;

语法:元素.style.样式名 = 样式值;

操作的只能是行内的样式;

操作的结果要带单位;

一定是小驼峰, 没有中划线;

2)类名操作:

语法:元素.classList;

元素.classList.add('类名') : 追加类;

元素.classList.remove('类名') : 移除类;

元素.classList.toggle('类名') : 切换类。

1)type: input标签的password和text;

2)value: 所有表单属性;

获取值: 元素.value;

修改值: 元素.value = 新值;

3)checked: 选中;

true: 选中;

false: 不选中;

4)disabled: 禁用;

true: 禁用;

false: 不禁用。

有一定的JS基础后,就可以进入 dom 环节了,dom使得网页的交互效果得到完美呈现,可以说dom真正打开了网页和用户之间的通道桥梁,日常生活中我们点击鼠标,敲击键盘,甚至于无意间触碰到屏幕(触摸屏),都会或多或少或大或小的得到一些躲藏起来的内容。

打开淘宝,在输入框输入商品时,下拉的推荐商品:

或是当打开某个不想再浏览的网页时,右上角的那个×:

这些大部分都存在DOM的身影。

这里的“DOM”,通常来讲,叫做 DOM 文档对象模型 , 通过操纵DOM,可以随意更改内容,样式,或者增删改查 ,因为网页是在浏览器中显示的,整个浏览器是BOM,所以DOM其实是BOM的一部分,BOM 就是 window对象 ,DOM 就是 document(文档)对象。

如果该元素,是网页的必备元素,而且只能有一个,可以通过document对象直接获取。比如:图片的src属性:

任由我们怎么去修饰图片的显示,但它本身的路径属性是独有的,所以我们可以直接获取:

更多的时候,我要需要获取网页中的指定元素,这就需要专门的方法来获取了,这里列举几个方法:

getElementById()方法,根据元素的id属性值来获取指定的元素,因为ID的唯一性,使得该方法需要搭配ID选择器使用,如果网页里ID重复时,它会获取第一个:

getElementsByTagName()方法,根据元素的标签名获取所有该元素,该方法获取的是所有该标签的元素,以伪数组的形式呈现:

getElementsByClassName()方法,根据元素的类选择器名称获取所有该元素,该方法获取的途径是标签的类,也就是class属性,由于拥有该属性的标签可能不只一个,所以该方法获得的也是一个伪数组(还有,可以看方法名,凡是带Elements的大多数都是伪数组):

getElementsByName()方法,根据元素的name属性值获取所有该元素,相同的性质,有name属性的标签也不少:

querySelector()方法,根据选择器的名称返回元素,如果有多个元素,只返回第一个元素,这个方法就比较常用了,而且IE这个啥也不咋适配的浏览器现在几乎不咋能见到了,可以多多考虑用他了该方法是  ES6新增,无论是ID 还是class都可以选,但是和上面区别的是选ID时前面要加#号,选class时前面要加“.”:

区别于Elements,这里是个单数,所以只会获取一个,要是想获取多个相同的,就用querySelectorAll()吧!querySelectorAll()看这个ALL就知道它是用来选全部的:

最后这俩方法更实用,可以选取CSS几乎所有选择器,而且querySelectorAll()得到的数组数据后还可以使用数组的方法。

操作DOM的样式 ,有多种方式:

通过style属性直接设置

通过className属性设置类选择器

也可以通过classList属性添加多个类选择器

操作DOM的内容:

innerText属性,用于获取 和 操作 DOM的文本内容。

innerHTML属性,用于获取 和 操作 DOM的HTML内容:

createElement()方法,用于创建DOM元素:

appendChild()方法,用于在当前DOM元素中添加子元素:

自删 remove()方法,是元素删除自己:

通过父级删除子级 removeChild()方法,是删除元素里面指定的子元素: