通过element.style.xxx设置或者读取的xxx样式属性,都是属于行间样式(<p style="color=red"></p>),并不是 使用link的外部css文件 或者 在<style></style>标签中定义的样式

  样式优先级: * < tagName < class < id < 行间(行间样式就是写在标签内)

  下面这个代码中

<html>
<head>
<style>
#div1{ width:100px; height:100px; border:1px solid blue;}
.red{ background-color: red }
</style>
</head>
<body>
<div id="div1"></div>
<button onclick="changeToRed()">变红</button>
<button onclick="changeToYellow()">变黄</button>
</body>
<script>
function changeToRed(){
var div1 = document.getElementById("div1");
div1.className = "red";
}
function changeToYellow(){
var div1 = document.getElementById("div1");
div1.style.backgroundColor = "yellow";
}
</script>
</html>

观察div的状态变化:

  初始状态为  <div id="div1"></div> 此时div内部为白色;

  先点击变红之后,变为 <div id="div1" class="red"></div>  此时div内部为红色;

  再点击变黄 ,变为 <div id="div1" class="red" style="background-color: yellow;"></div>,此时div内部颜色变为黄色,此时黄色为行间样式,会覆盖掉通过class或者id设置的同一个属性(background-color)样式。

刷新浏览器,改变顺序: 

  初始状态为  <div id="div1"></div> 此时div内部为白色;

  先点击变黄 ,变为 <div id="div1" style="background-color: yellow;"></div>,此时div内部颜色变为黄色,此时黄色为行间样式

  再点击变黄之后,变为 <div id="div1" style="background-color: yellow;" class="red"></div>  此时div内部为仍为黄色,这是因为后添加的class属性优先级没有上一步添加的行间属性的优先级高,所以不起作用。

建议:

  如果出现这种情况,非常头疼,因为不报错,所以很难查找 

  所以,尽量对同一个元素,更改样式属性的时候,只是用一种方法,要么只使用element.style.xxx,要么只是用element.className='xxx'。

最新文章

  1. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一.
  2. 关于watir-webdriver中文乱码问题
  3. NDK开发-简介&amp;环境搭建(Eclipse,Android Studio)
  4. 查询时,如何保存获取相关路径url
  5. 二项堆(三)之 Java的实现
  6. 将对象转为数组方法:延伸array_map函数在PHP类中调用内部方法
  7. LRU算法实现
  8. HttpClient模拟get,post请求并发送请求参数(json等)
  9. 复习HTML+CSS(6)
  10. ReactJS antd 环境中项目上传图片后压缩(lrz的使用)
  11. June 4. 2018 Week 23rd Monday
  12. php unset对json_encode的影响
  13. 利用webpack搭建的前端工程化环境
  14. [Noi2014]购票 BZOJ3672 点分治+斜率优化+CDQ分治
  15. Solr7.4.0的API(Solrj)操作
  16. JavaScript:Functions
  17. 算法:快速排序实现 &amp; 定制比较函数
  18. GO_05:GO语言基础map与函数
  19. 在cygwin下安装ns2
  20. Spring 通知

热门文章

  1. IntelliJ IDEA 创建Spring+SpringMVC+mybatis+maven项目
  2. RPC入门总结(一)RPC定义和原理
  3. JavaScript数组对象详情
  4. Java 8 新特性:4-断言(Predicate)接口
  5. JS函数防抖与函数节流
  6. 用户对动态PHP网页访问过程,以及nginx解析php步骤
  7. Sql优化器究竟帮你做了哪些工作
  8. ansible-playbook 实战案例 全网备份 实时备份
  9. Python-wxpy继承关系
  10. (1) 安卓导入mqtt包基本通信