DOM速成学习笔记

DOM:文本对象模型
作用:它就是一些功能,通过这些功能可以对HTML文档进行动态操作,从而实现许多动态交互效果。
请添加图片描述
可用谷歌插件HTML Tree Generator看某网站的DOM结构请添加图片描述

获取结构语法:

document;//直接返回整个页面的DOM
document.getElementsByTagName("body");//返回所有能找到的body标签元素
document.getElementsByTagName("body")[0];//返回第一个body集合中的第一个元素,这个返回的才是html中的body标签
document.getElementById("ID1");//通过CSS选择器id来找,注意Element不是复数形式,因为CSS的ID是唯一的
document.getElementsByName("x");//返回带有指定名称的对象的集合。
document.getElementsByClassName("box1");//通过CSS选择器class来找

//更常用的是querySelectorall,语法跟jQuery类似,需要熟悉CSS选择器:
document.querySelector();//自上而下找到第一个符合的文档中匹配指定 CSS 选择器的元素。
document.querySelectorAll();//返回所有符合条件的元素
用法举例:
document.querySelector("h1");//返回第一个h1标签
document.querySelector("ul li");//返回第一个ul标签的第一个li标签
document.querySelectorAll("#sp-list li.list");//返回id为sp-list标签中所有class为list的li标签

修改语法:
注意在网页console中用只会在网页上修改,文件内代码不变,F5就复原了,可以在console中即使渲染查看效果,找到合适的样式再写入代码。

document.querySelector("h1").style.color="blue";//将第一个h1标签的颜色改为blue。

注意!DOM语法采用驼峰命名,与CSS内的写法有所不用,假如CSS内写成background-color,DOM中则是backgroundColor

还可以这样:
var x1=document.querySelector("h1").style.color;//可以将这个写入外置script文件中
x1="blue";

给选择的元素加类、删类:
document.querySelector("h1").classList;//返回第一个h1的所有class
document.querySelector("h1").classList.add("");
document.querySelector("h1").classList.remove("");

假如网页中设置一个按钮,按一下第一段变成某个CSS样式,再按一下则复原,可以用 toggle()方法,其当插入class:title1成功返回true,删除成功则返回false:
document.querySelector("h1").classList.toggle("title1");

或者直接事件监听器给这个按钮加个事件,也达到同样效果:
document.querySelector("button").addEventListener("click",function(){
    document.querySelector("h1").classList.toggle("title1");    
});
//addEventListener()第一个参数传入的是事件,这里传入click,点击则触发,第二个参数是触发后执行什么操作,所以是function形式

上面都是修改css样式,下面则是修改hmtl语句:
document.querySelector("h1").innerHTML="Goodbye!";//将h1标签的内容修改为Goodbye!
document.querySelector("h1").innerHTML="<em>Goodbye!</em>";//还可以这样加入标签,Goodbye!则呈现为被强调的文本
document.querySelector("h1").textContent;//这句返回的是h1标签里的文本内容 所以返回"Goodbye!"
document.querySelector("h1").innerHTML;//这句返回的是h1标签里面的内容 所以是:"<em>Goodbye!</em>"

对标签属性的操作:
document.querySelector("body").attributes;//返回body标签的所有属性,包括属性个数属性名字等等各种信息
document.querySelector("body").getAttribute("id");//返回body的id属性
document.querySelector("body").attributes.id.value;//返回body标签的id属性的名字
document.querySelector("body").attributes.id.value="id1";//修改id
document.querySelector("body").setAttribute("class","box1");//给body添加属性,第一个是属性类型,第二个是属性键值,这里给body添加一个定义为box1的选择器

更多操作参考MDN文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值