JS操作BOM和DOM

tech2023-07-02  137

JS操作BOM和DOM

一、js中的json序列化二、BOM操作1、location对象2、计时器 三、DOM对象1、创建标签2、查找标签3、文本操作4、值操作5、事件6、JS获取时间

上一节补充:弹性盒子 弹性盒子可用来做居中效果(推荐) display:flex

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .c1{ height:80px; width:100px; border:1px solid blue; display:flex; align-items:center; justify-content: center; } .c1 img{ height:30px; width:30px; } </style> </head> <body> <div class="c1"> <span>你好</span> <img src="timg.jpeg" alt="图片无法加载"> </div> </body> </html>

页面效果:

一、js中的json序列化

序列化和反序列化效果如下:

var 变量1=JSON.stringify(要序列化数据) //序列化 var 变量2=JSON.parse(要反序列化数据) //反序列化

示例:

二、BOM操作

浏览器对象模型 window对象,浏览器的顶层对象

1、location对象

1)location.href 获取当前页面地址

2)跳转到某个网址 location.href=“要跳转地址”

3)刷新当前页面 location.reload()

2、计时器

1)基本用法:

var t=setTimeout(function(){console.log("xxx")},2000)

示例:

两秒后展示console.log里的内容

2)循环定时展示内容:

var t=setIntervar(function(){console.log("xxx")},3000)

执行结果:

每隔3秒生成一次console.log里的内容

清除定时器:clearInterval(t)

定时器不再计数。

计数器示例:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .c1{ height:100px; width:100px; background-color:red; } .c2{ background-color:blue; } </style> </head> <body> <div id="d1" class="c1"></div> </body> <script> var t=setInterval(function(){ var a=document.getElementById("d1"); a.classList.toggle("c2") },1000) </script> </html>

页面效果: 自动变色效果:

三、DOM对象

文档对象模型–html

1、创建标签

var 变量=document.createElement(标签)

示例:

2、查找标签

直接查找选择器 元素选择器

var 变量=document.getElementsByTagName(标签);

用上述方法取到的是一个标签数组,需用索引将具体标签取出:

类值选择器

var 变量=document.getElementsByClassName();

同样需要通过索引取出标签 示例:

id选择器

var 变量=document.getElementById(id);

示例:

间接查找选择器 查找下一个兄弟标签,并改色:

var h=document.getElementsByClassName('c1')[0]; h.nextElementSibling.style.color='red';

示例:

找上一个兄弟标签:

h.previousElementSibling

示例:

找第一个/最后一个子标签:

h.firstElementChild/lastElementChild;

示例:

找寻所有子标签,返回数组:

h.children;

示例:

找到自己的父级标签:

h.parentElement;

示例:

3、文本操作

1)innerText 获取文本内容(只获取文本内容,不获取标签)

var h=getElementsClassName('c1'); h.innerText;

示例:

设置文本内容:

var h.innerText="修改内容";

运行结果:

2)innerHTML 获取内容,连带标签都可以获取 可通过h.innerHTML设置文本

4、值操作

写法:

标签对象.value;

示例:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> 用户名:<input type="text" id="username" onblur="f1(this)"> <span id="error" style="color:red;font-size:12px"></span> </body> <script> var h=document.getElementById('d1'); function f1(ths){ var username=ths.value; if (username.length < 5){ var t=document.getElementById('error'); t.innerText="文本长度不足五位!" } } </script> </html>

页面效果:

5、事件

事件是指捕获用户的行为,触发相应的动作

常用事件: 1)onblur 失去光标时触发的事件 2)onfocus 获取光标时触发的事件 3)onclick 左键单击触发的事件 4)onchange 域内容发生变化时触发的的事件

类值操作:

var h=document.getElementById('id'); h.classList //查看类值 h.classList.add("新类值") //添加类值 h.classList.remove("类值") //删除类值 h.classList.toggle("类值") //类值存在删除,不存在添加

style样式操作:

标签对象.style.backgroundColor="blue";

onclick示例:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .c1{ width:100px; height:100px; background-color:red } .c2{ background-color:blue } </style> </head> <body> <div id="d1" class="c1"></div> </body> <script> var a=document.getElementById('d1'); a.onclick=function f1(){ a.classList.toggle("c2"); } </script> </html>

页面效果:点击鼠标左键时红蓝替换

6、JS获取时间

var d = new Date(); d.toLocaleString(); //获取本地可读时间 d.getTime(); //获取时间戳

示例:

最新回复(0)