my kernel of DOM
- DOM:Doucument Object Model
- DOM is a bond which connect JavaScript and (Html CSS)
- document对象:代表当前页面文本
DOM文档解析步骤
- 解析HTML结构
- 加载外部文件(包括脚本和样式文件)
- 解析并执行脚本代码
- 执行$(function(){})内对应代码(除了window.onload=function(){})
- 加载图片等二进制资源
- 页面加载完毕,执行window.onload
选择器
选择器是document的成员方法
var lis = document.getElementByClass("foot");
var lis_too = document.querySelector(".foot");
getElementByTag
document.getElementByTag("tagname")
Tag/Class等等对应"tagname"/"classname"
更推荐用下面那个
querySelector
document.querySelector("css selector grammer")
//返回第一个满足css选择语句条件的标签及其内容
document.querySelector("li");
//返回所有满足css选择语句条件的标签及其内容
document.querySelectorAll("li");
对选择结果进行操作
操作方法是对选择中的标签及其内容(以对象形式返回)进行操作函数,是其成员函数
以下展示直接操作标签属性
var lis = document.querySelectorAll("li");
lis.style.backgroundColor = red;
//注意在JavaScript中的成员属性和成员方法都是驼峰命名法
小点
.innerHtml与.style.
var lis = document.querySelectorAll("li");
lis.innerHTML = "列表" ;//直接修改选中标签的内容
//lis.style.property = value;
//property即css属性名例如 width height color
//value即css属性名对应的值 例如width=10px此处的value就是10px
lis.style.color = white;
lis.style.backgroundColor = green;
.classList
//a是一个在css中定义的类名
var lis = ducument.querySelector("li");
//增删类名
lis.classList.add("a");
lis.classList.remove("a");
//toggle n.触发器开关 类似开关按一下打开再按一下关闭,循环往复
/*
等价于如下语句
if(classList中有a){
lis.classList.remove("a");
}else{
lis.classList.add("a");
}
*/
lis.classList.toggle("a");
attribute
attribute v. 把...归因于; 认为是…所为 n. 属性,特征; 定语
在JavaScript中取的词义为 n.属性
<!-- 其中href class color都叫做attribute -->
<a href="http://poilzero.sipc115.club" class="myBlog" color="white"></a>
以成员属性的方式使用
var link_me = ducument.querySelector(".myBlog");
//全部的attribute,存储在选择的对象的attributes成员属性里面
link_me.attributes.href = "404.php";
link_me.color = "green";
直接使用成员函数修改
var link_me = ducument.querySelector(".myBlog");
//setAttribute(attribute_name,value);
link_me.setAttribute("color","red");
添加事件
用法
addEventListenr("event_name",function{
//code content
});
例子按钮变红
点击按钮按钮变红再点击复原
文件结构
- myJS.html
- myJS.js
<!--myJS.html-->
<html>
<head>
<style>
.btn-red{
color: white;
background: red;
}
</style>
<script src="myJS.js"></script>
</head>
<body>
<buttom id="redMe">点我点我</buttom>
</body>
</html>
//myJS.js
window.onload=function(){
var red_me = ducument.querySelector("#redMe");
//event_name:click 当点击的时候触发
//触发内容是 变色,再点一下恢复(此处使用了toggle)
red_me.addEventListenr("click",function(){
red_me.classList.toggle("btn-red")
});
}
2 comments
萌新摸鱼,大佬加油嗷
蒟蒻瑟瑟发抖⌇●﹏●⌇