博客
关于我
JS18-DOM操作之标签的样式
阅读量:526 次
发布时间:2019-03-09

本文共 1444 字,大约阅读时间需要 4 分钟。

DOM操作中的样式获取与设置是Web开发中常见的操作之一。了解标签的样式属性可以帮助我们更好地调整页面布局和元素显示效果。本文将介绍如何通过JavaScript操作DOM元素的样式属性。

1. 行内样式与非行内样式

在HTML中,样式通常可以通过两种方式设置:行内样式和非行内样式。行内样式位于标签内部的style属性中,而非行内样式则由外部的CSS文件或链接外部样式表控制。DOM操作时,标签的style属性可以直接通过JavaScript修改或获取。

2. 样式属性的获取与设置

在DOM操作中,设置样式属性相对简单。可以通过访问标签对象的style属性并赋值来实现,比如:

oDiv.style.color = 'red';oDiv.style.backgroundColor = '#fffff0';

获取样式属性时,需要注意以下几点。对于行内样式,直接通过style属性获取时会以字符串形式返回。例如:

console.log(oDiv.style.color); // 'red'console.log(oDiv.style.backgroundColor); // '#fffff0'

对于非行内样式,由于浏览器通常不会将非行内样式直接挂载在标签的style属性中,尝试通过style属性获取其值时会返回空字符串。例如:

console.log(oDiv.style.fontSize); // ''

为了获取最终的样式属性值,应使用以下两种方法之一:

  • window.getComputedStyle方法:这是W3C推荐的方法。它返回的是标签最终执行的样式属性值。
  • console.log(window.getComputedStyle(oDiv).color); // 'rgba(255, 0, 0, 1)'console.log(window.getComputedStyle(oDiv).fontSize); // '20px'
    1. element.currentStyle方法:这只适用于低版本的IE浏览器。
    2. console.log(oDiv.currentStyle.color); // 'rgba(255, 0, 0, 1)'

      3. 兼容性处理

      为了确保在不同浏览器中都能正常运行,建议采用以下兼容性处理方案:

      if (window.getComputedStyle) {    // 支持的浏览器执行此代码    const style = window.getComputedStyle(oDiv);    console.log('支持window.getComputedStyle:', style.color, style.fontSize);} else {    // 不支持的浏览器执行此代码    console.log('不支持window.getComputedStyle, 使用currentStyle:', oDiv.currentStyle.color, oDiv.currentStyle.fontSize);}

      这样既兼容现代浏览器,又支持低版本的IE浏览器,避免因不支持特定方法而导致脚本无法正常运行。

      在实际项目中,使用框架或库如jQuery等可以进一步简化样式操作,减少兼容性问题。但在需要底层操作时,了解这些基础知识是非常重要的。

      及时了解并掌握这些知识将帮助开发者更好地应对各种浏览器兼容问题,提升项目的兼容性和稳定性。

    转载地址:http://tnaiz.baihongyu.com/

    你可能感兴趣的文章
    slf4j日志
    查看>>
    覆盖关系
    查看>>
    策略模式
    查看>>
    c# datagirdview报dataerror请处理等等
    查看>>
    ubuntu20.04 编译vlc-android
    查看>>
    VLC/VLC-Android 编译系统说明
    查看>>
    Swagger2 设置全局token
    查看>>
    Spring Cloud Gateway 过滤器中直接返回错误结果信息
    查看>>
    idea Error:java: 错误: 不支持发行版本 5
    查看>>
    java.io.IOException:Stream closed
    查看>>
    zookeeper入门
    查看>>
    CPLEX Python入门--从简单的CplexPythonAPI详解到简单的DoCplex建模
    查看>>
    未来趋势—云计算与边缘计算的协同发展
    查看>>
    JS-button标签说明
    查看>>
    JS17-DOM操作之设定标签属性
    查看>>
    JS18-DOM操作之标签的样式
    查看>>
    css-button标签说明
    查看>>
    JS-限定符号( ^ 和 $ 与 * + ? {n} {n,} {n,m} )
    查看>>
    jQuery----阻止(阻止冒泡事件、阻止默认事件的执行)
    查看>>
    demo---购物车的多条记录保存(cookie)
    查看>>