JavaScript-DOM:一、BOM&DOM

一、BOM&DOM

1.BOM

BOM 是浏览器对象模型,就可以理解成是当前浏览器打开的窗口

window对象 就是 BOM

通过window对象 可以操作浏览器本身 它里面提供了一些操作当前浏览器的对象和方法

1.1. 各种弹框:

window.alert('消息框')

window.prompt('输入框')

window.confirm('确认框')

1.2.定时器

setTimeout定时器,在指定的毫秒后执行一次

后面是毫秒

1.3.open方法,用于打开新的窗口

1.4.close方法,用于关闭当前窗口

1.5.数据转换方法

1.6. 常用属性

location属性:

location是window对象的属性,该属性用于设置网页的地址栏

location.href属性 表示跳转,当前浏览器的地址栏发生了跳转

其实超链接标签的内部就是对location.href属性的封装

window.location.href = 'http://baidu.com'

location.reload()方法 表示刷新当前地址栏(刷新当前窗口)

window.location.reload()

history属性:

history是window对象的属性,该属性用于设置网页的浏览历史记录

forward()前进

window.history.forward()

back()后退

window.history.back()

go()方法,既可以实现前进,也可以实现后退

window.history.go(1) //前进一次

window.history.go(3) //前进三次

window.history.go(-1) //后退一次

window.history.go(-3) //后退三次


2. DOM

DOM 文档对象模型,就是当前网页里面的所有内容。

因为网页是在浏览器中显示的,整个浏览器是BOM,所以DOM其实是BOM的一部分

BOM 就是 window对象 DOM 就是 document对象

使用DOM获取网页元素:

1.如果该元素,是网页的必备元素,而且只能有一个,可以通过document对象直接获取。

比如:head,title,body

document.body.style.border = "1px solid #ccc"

document.title = 'helloworld'

把网页名称换成helloworld,以及修改主体边框

2.更多的时候,我要需要获取网页中的指定元素,这就需要专门的方法来获取了。

getElementById()方法,根据元素的id属性值来获取指定的元素。

注意:如果网页中id属性值重复,只获取第一个。

getElementsByTagName()方法,根据元素的标签名获取所有该元素。

先根据标签名获取元素,再根据下标来修改元素

getElementsByClassName()方法,根据元素的类选择器名称获取所有该元素。

getElementsByName()方法,根据元素的name属性值获取所有该元素。



querySelector()方法,根据选择器的名称返回元素,如果有多个元素,只返回第一个元素。

querySelectorAll()方法,根据选择器的名称返回所有的元素。

注意:querySelectorAll()方法,返回的是集合对象,不是数组对象。可以利用展开运算符,将集合对象转为数组对象。

转为数组对象后,就可以使用数组相关的方法了。

let divs2 = [...divs]

querySelector()和querySelectorAll()方法里面也可以写所有的css选择器。

3. 操作DOM元素的内容和样式

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

通过style属性直接设置

通过className属性设置类选择器

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

操作DOM的内容:

innerText属性,用于获取 和 操作 DOM的文本内容。innerText属性设置内容时,不能识别html标签,会将html标签以文本的形式呈现

innerHTML属性,用于获取 和 操作 DOM的HTML内容。innerHTML属性设置内容时,能够识别html标签

4. 操作DOM元素的属性

获取和设置标签自带的属性(原生属性),直接点

let src = img.src //src是图片标签的原生属性

获取和设置标签自定义的属性,需要通过getAttribute()和setAttribute()方法

setAttribute('属性名称','属性值')方法,设置元素的属性值,需要传两个参数(属性名和属性值)

getAttribute('属性名称')方法,获取元素的属性值,只需要传一个参数(属性名)

5. 创建和删除DOM元素

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

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

删除元素有两种写法:

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

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

补充1:onclick是点击事件,on表示当,click表示点击

绑定一个点击事件,点击li标签时,删除自己

补充2:parentElement和parentNode属性,返回父级元素

你可能感兴趣的:(JavaScript-DOM:一、BOM&DOM)