一、获取对象
1、getElementById()
按元素的ID名称来访问
2、getElementsByTagName()
通过标签名获取元素对象 集合
3、 getElementsByClassName()
getElementsByClassName(“类名”)通过类名来获取元素对象 集合
4、 getElementsByName()
getElementsByName(“name值”)通过name值获取元素对象 集合
5、 querySelector()
querySelector(“选择器”)通过选择器获取匹配到第一个元素 唯一
6、 querySelectorAll()
querySelectorAll(“选择器”) 通过选择器获取匹配的所有元素对象 集合/列表
二、操作样式
Obj.style.属性=“值”
var oDiv = document.getElementById("box");
var oBtn = document.getElementsByClassName("btn")[0];
console.log(oBtn);
oBtn.onclick = function () {
// oDiv.style.width = "200px"; //添加样式到行内
// oDiv.style.height = "200px"; //添加样式到行内
// oDiv.style.backgroundColor = "#f00";
oDiv.style = "width:200px;height:200px;background-color:#f00;";
console.log(oDiv.style); //[object CSSStyleDeclaration] css声明对象
// oDiv.className = "con";
};
三、 导航移入、移除
var lis = document.getElementById("nav").getElementsByTagName("li"); //集合
for (let i = 0; i < lis.length; i++) {
// 鼠标移入
lis[i].onmousemove = function () {
this.style.backgroundColor = "#f00";
};
// 鼠标移出
lis[i].onmouseout = function () {
this.style.backgroundColor = "";
};
}
四、let作用域
1、let要先声明后使用
2、let声明不存在变量提升
3、let存在暂时性死区
4、let不能重复声明/ let在相同作用域内不能重复声明
let与var的区别
1.var是全局作用域,let 只在当前代码块内有效
2.var有变量提升,let没有变量提升
3.let变量不能重复声明,var可以
4.暂时性死区
五、 classList 属性
1、add()
dom对象.classList.add("类名1","类名2","类名3"...) 添加一个或多个类
2、remove()
dom对象.classList.remove("类名1","类名2","类名3"...) 删除一个或多个类
3、toggle()
dom对象.classList.toggle(”类名1 ","类名2“...) 添加/删除一个或多个类
4、 contains()
dom对象.classList.contains(类名) 判断dom对象是否含有某个类,若含有某个类返回true,否则返回true
5、 item()
dom对象.classList.item(索引) 根据索引返回对应类
六、滚动条
oDiv.scrollTop //垂直方向滚动条滚动的距离
oDiv.scrollLeft //水平方向滚动条滚动的距离
oDiv.scrollTo(0, 40); //滚动条滚动到40 与 oDiv.scrollTop = 40; 一样
oDiv.scrollBy(0, 40); //设置 进行叠加 与 oDiv.scrollTop += 40; 一样
oDiv.scrollWidth //div内容实际宽度
oDiv.scrollHeight //div内容实际高度
dom对象.scrollTo(水平方向滚动条滚动距离, 垂直方向滚动条滚动距离);
dom对象.scrollBy(水平方向滚动条一次滚动距离, 垂直方向滚动条一次滚动距离);