2020-09-18

8.1 DOM概念

DOM(Document Object Model):文档对象模型

通过开发者工具可以看到

 

 

整个文档是由一系列的节点对象组成的一棵树

节点(Node)包括元素节点(1)、属性节点(2)、和文本节点(3)

 

Th1代表一个元素节点(nodeType=1),nodeName是标签名(th)元素节点的

nodeValue=null

 

getAttributeNode方法是获取元素的属性节点,此时输出的节点类型是属性节点(2)

节点名称就是属性名,节点值就是属性值

 

Txt1是一个文本节点(3),节点名称固定是#text,节点值文本内容

8.2 获取元素

(1)getElementById

根据元素的id属性来获取元素,获取到的是一个元素

(2)getElementsByTagName

根据标签名来获取元素,获取到的是一个元素集合

(3)getElementsByClassName

根据class属性来获取元素,获取到的是一个元素集合

(4)getElementsByName

根据name属性来获取元素,获取到的是一个元素集合

总结:获取元素可以根据标签名获取,也可以根据id、name、class属性来获取。

根据id属性获取的结果是一个元素,其他的是一个元素集合

8.3 修改元素

(1)修改内容

 

通过innerText属性可读取或者设置标签的内部文本

 

也可以通过innerHTML属性获取或者设置内部文本

两者 的区别:innerHTML会按照html的规则来解析文本,而innerText只是当则普通的文本内容。

如果非要用innerText来换行,使用文本换行符\n

 

(2)修改样式

A . xxx . style . yyy

B . xxx . classname=”…………”(相当是修改了class属性)

 

8.4 添加删除元素

(1)createElement创建一个元素节点

createElement(“p”)创建一个段落

(2)createTextNode创建一个文本节点

createTextNode(“文本内容”),创建一个值为“文本内容”的文本节点

(3)appendChild  添加子节点

(4)removeChild  删除子节点

动态添加

 

动态删除

 

这种方法是分别找到父节点和要删除的节点,然后执行删除操作。这种方法有一个前提

需要知道父节点是谁

那么如果说不知道父节点是谁,该怎么删除呢?

 

动态添加和动态删除的案例

案例:删除动态添加的奇数段落

思路1:获取div1下的所有段落,然后遍历,将序号为奇数的段落删除

 

这种方法在最开始的时候是可以的,但是随着动态添加或者删除的运行,后面的结果就不对了,因为动态删除影响了原来的顺序,程序是按照序号去判断奇偶性,所以会出现误判

思路2:在动态添加的时候给序号为奇数的设置一个class属性,然后通过getElementsByClassName来获取奇数行

 

8.5 导航

Document是根节点

parentNode:获取父节点

childNodes:获取所有子节点

firstChild:第一个子节点

lastChild:获取最后一个子节点

 

9 BOM

概念browser object model

9.1 常用对象

Window:窗口,浏览器的窗口

我们定义的全局变量和全局函数都是window对象的属性和方法

 

全局变量是window的属性。

全局函数是window的方法:

       Window.innerWidth

       Window.innerHeight

常用的方法:

Open:打开一个新的窗口,要传三个参数;第一个为将要打开的窗口路径

第二个:打开的方式  ; 第三个为对于新打开浏览器的描述(宽,高等等)

var myWindow = window.open("https://www.baidu.com/","_blank","width=200,height=300");

close:关闭一个窗口

myWindow.close();

moveTo:移动一个窗口,以窗口的左上角为坐标起点

myWindow.moveTo(200,200);

focus:使窗口获得焦点

myWindow.focus();

resizeto:改变窗口的大小

myWindow.resizeTo(1000,1500);

screen:屏幕   也是window下面的一个对象,在使用的时候可以用window.screen

也可以省略window

屏幕的常用属性:宽,高;可用宽与可用高(可用高不包括任务栏)

 

Location:地址

常用属性:href完整路径      port端口号    pathname路径名        

                     Protocol:协议

常用方法

打开一个新的路径()窗口

location.assign("http://www.baidu.com/");

刷新:普通刷新和强制刷新

 

如果传值为true,那么就是强制刷新

History:历史记录

记录当前窗口的历史,可以进行页面的转换

方法:back---回到上一页

Forward---进入下一页

Go---进入确定的那一页(-1回到上一页)

History.back()

History.forward()

History.go(-1)

9.2 弹窗

Alert():警告提示框,也是window下的方法(window.alert()),window可以省略不写

 

Prompt(“请输入内容”,“默认值”)信息提示输入框,也是window下的方法,window也可以省略不写,当我们点击确定时,才会把值返回,否则为空

 

 

Confirm(“提示的信息”)确认框,也是window下的方法,window也可以省略不写

当点击确定的时候,返回true,如果点取消,返回false

 

 

9.3 cookie

Cookie的作用:在本地浏览器储存数据,经常用于记住账号等等

Cookie组成:

键值对的形式

Username=asdasd  pwd=123456  phone=13512633908

有效期:expires=今天以后的时间

存储cookie

按照cookie的形式写好一个字符串,然后把它赋值给document.cookie,浏览器就会缓存这个cookie,可以存储多个键值对,但是键的名字不能重复

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值