DOM节点操作
新增(创建节点)
创建元素节点
document。createElement("元素的名称")
创建文本节点
document.createTextNode("文本的内容")
创建属性节点
document.createAttribute("属性名")
创建的属性.value = "属性值"
将创建好的属性节点添加到某个元素节点上
目标元素节点.setAttributeNode(创建的属性节点);
使用这种方式创建的属性节点会覆盖原本有的(覆写)
添加节点
1.appendChild:添加子元素
子元素会添加到父级元素的最后一个位置
2.insertBefore:把元素插入到指定元素之前
op.insertBefore(oDiv) 这种使用方法是错误的
op.parentNode.insertBefore(新元素, 目标元素)
移除节点
removeChild()
box.removeChild(oP)
父级节点.removeChild(移除的子节点)
可以移除元素节点,也可以移除文本节点
替换节点
replaceChild()
box.replaceChild(oDiv, oP)
父级节点.replaceChild(新节点, 要替换的目标节点)
注意:对于这个第一个参数,如果该参数的这个节点是已存在的节点,那么会将这个节点从DOM树中删除掉,然后添加到替换的位置
克隆节点(不管是深度还是浅度都不会克隆事件)
要克隆的节点.childNode(true || false)
此方法有两个参数
true:表示深度克隆(可以将里面所有的东西都克隆)
false:表示浅克隆(只会克隆元素本身)
默认参数为false
js操作css
1.document.createAttribute("style")
写入value值
插入属性节点
注意:覆写
2.元素.style = "font-size:100px;background:aqua;"
也可以来修改样式
同样覆写
3.元素.style.属性名 = 属性值
这种方法是添加写入
对于不符合变量名要求的元素可以采用
d1.style["font-size"] = "100px"
d1.style.fontSize = "100px"
对于float这种保留词,最好需要改写
谷歌:cssFloat
IE:styleFloat
4.元素.style.cssText
使用方式上面和元素.style一致(元素.style这种方式在比较老的浏览器中不支持)
5.注意使用上的一个顺序问题
6.读取属性(只能去读取行内的属性)
元素.style.属性可以获取到对应的属性值
如果行内写了对应的属性值,获取到对应的属性值
如果行内没有写对应的属性值,获取到空字符串''
7.移除某个属性
元素.style.属性 = '';
注意这个不能使用delete方法删除属性
不太常用的方法:
这3个方法全是挂载在style下面的
元素.style.xxx()
读取行内样式:元素.style.getPropertyValue(属性名)
设置行内样式:元素.style.setProperty(属性名, 属性值)
移除行内样式:元素.style.removeProperty(属性名)
getComputedStyle(要获取样式的元素, 伪类(没有伪类写上null))
可以用来获取外部样式表中的样式,返回一个样式的集合
js获取元素的大小
1.视口大小
document.documentElement.clientHeight
获取当前浏览器视口的高度,我们现在所能看到的一个高度
document.documentElement.clientWidth
获取当前浏览器视口的宽度,我们现在所能看到的一个宽度
document.body.clientHeight:获取body元素的实际高度
document.body.clientWidth:获取body元素的实际宽度
window.innerHeight:获取浏览器实际的高度
window.innerWidth:获取浏览器实际的宽度
window.innerWidth和document.documentElement.clientWidth
两者的区别就在于后者不计入滚动条的宽度
outerWidth和outerHeight获取的是浏览器整体的大小(标题栏,地址栏,可视区域)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律