js获取、设置元素属性值

本文介绍了JavaScript中设置和获取元素属性的方法,包括setAttribute用于设置行间属性,能够覆盖原有属性并添加自定义属性;getAttribute用于获取行间属性值,但不包括CSS样式;同时,讨论了在不同浏览器中获取计算后样式属性的差异,如getComputedStyle在非IE8浏览器中使用,而currentStyle是IE8及以下版本的替代方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


网页css和样式结构

#box{
    width:100px;
    height:100px;
}
<div id="box" style="background:red;"></div>

setAttribute

  • 元素.setAttribute('属性名',属性值)
  • 设置元素的行间属性,如果原来有这个行间属性会覆盖原来的行间属性
  • 可以通过该方法给元素新增自定义行间属性
var oBox = document.getElementById("box");
oBox.setAttribute("width","200px");//给oBox对象新增行间属性width="200px",不能覆盖css样式中的width属性值
oBox.setAttribute("class","myDiv");//给oBox对象新增行间属性class="myDiv"

getAttribute

  • 元素.getAttribute('属性名')
  • 获取元素的行间属性对应的属性值,不能获取css样式对应的属性值
  • 如果获取的属性不存在返回null
var oBox = document.getElementById("box");
console.log(oBox.getAttribute("width"));//null

getComputedStyle

  • 获取经过浏览器计算后的属性
  • 获取的结果是带单位的字符串
  • getComputedStyle是window对象的一个属性,属性值是一个方法。这个方法的返回结果是一个对象
  • 该方法具有兼容性问题,在ie8及以下版本不存在该属性
var oBox = document.getElementById("box");
console.log(getComputedStyle(oBox).width);//"100px"

currentStyle

  • 在ie8及以下版本没有getComputedStyle属性,但是存在currentStyle属性。在ie9及以上版本均存在getComputedStyle、currentStyle属性。该属性名在谷歌浏览器不存在
  • 该属性时元素对象上的属性,对应的属性值是一个对象

元素.style.属性名

  • 获取或设置元素的内置的行间样式属性
  • 返回的结果是带单位的字符串
  • 可以设置元素的内置行间样式属性,属性值是带单位的字符串
var oBox = document.getElementById("box");
oBox.style.width = "300px";//将盒子的宽度设置为300px
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值