修改元素内容和属性
修改元素内容和属性
原生html属性操作:
取值:console.log(xx元素.src)
赋值:xx元素.alt = ‘abc’; js不带单位
自定义属性
设置一个属性的值
xx元素.setAttribite(‘属性名’,‘属性名’)
获取给定属性的值
xx元素.getAttribute(‘属性名’)
移除一个属性
xx元素.removeAttribute(‘属性名’)
html特殊属性
布尔值
1.checked属性 用于单选或多选 true(选中) false
2.selected属性 下拉框
3.disable属性 禁用
容器盒子的内容属性
1.innerHTML 2.innerText
style操作样式属性
局限性:
样式值都是字符串类型的值
通过style读取和设置的都只能是行内样式。
样式属性名的写法跟css有所出入,必须使用“小驼峰”命名法,类似这样:xxxYyyZzz
className操作属性
js读取-----------var v1 = xx元素.className
js中设置 ---------- xx元素.-----=‘类名’
**注:**如果元素有多个类名,则用空格隔开进行赋值
classList 操作class属性
1.添加一个类(class):
xx元素.classList.add(‘类名’)
2.移除一个类(class):
xx元素.classList.remove( ‘类名’ )
3.切换一个类(class):
xx元素.classList.toggle( ‘类名’ )
注: 切换的意思是: 有就移除,没有就添加。
通过className来操作类,和通过classList来操作类,有什么区别?
1.className设置的类,是会完整覆盖一个元素的calss属性的值
2.classList.add()设置的类,会保留原来的class,并且加上新的这个
获取非行内样式的值
1.使用xx元素.style.样式名 只能获取行内样式的值
2.getcomputedstyle(xx元素)可以获取到一个元素的所有style样式,结果是一个对象
var style = getcomputedstyle(xx元素)【兼容性】