当前位置: 首页 > article >正文

第九章-DOM与CSS

style属性

文档中每个元素节点都有一个属性style。style属性包含着元素样式,查询这个属性将返回一个对象而不是一个简单的字符串。样式都存放在这个style对象的属性里。

var element = getElementById("example")
//查看颜色属性
element.style.color
//element.style.font-family正确写法
element.style.fontFamily

通过style属性获取样式有很大的局限性,只有把CSS style属性插入到标记里,才可以用DOM style属性去查询那些信息。

但是我们用DOM设置的样式,就可以用DOM再把它们检索出来。
style对象的属性值永远是一个字符串。style 属性的值必须放在引号里,单引号或双引号都可以。

para.style.color = 'black';

如果没有加引号,JS会把等号右边解释为一个变量,如果前面没有定义过该变量,上面代码将无法运行。

何时该使用DOM脚本设置样式

在绝大多数场合,还是应该使用CSS来去声明样式。但在CSS使用不方便的场合,可以利用DOM对文档样式做一些增强。

根据元素在节点树里的位置来设置样式

CSS还无法根据元素之间的相对位置关系找出某个特定元素,但是可以用DOM来找出目标元素,并把样式添加给它。

根具某种条件反复设置某种样式

例如表格斑马线,JS擅长处理重复性任务,用一个while或for循环就可以轻松地遍历一个很长的列表。

ClassName属性

上文都是一直在使用DOM直接设置或者修改样式,我们还可以通过JS代码更新这个元素的 class 属性来间接的改变样式。

//设置一个元素的class属性
element.className = "属性名"

这个技巧有一个不足之处:通过className属性设置某个元素的class属性时将替换而不是追加该元素原有的class设置。

解决方法:可以利用字符串拼接操作,把新的class设置值追加到className属性上。

elem.className += " intro";
/*以下是给一个元素追加新的class时封装的函数:
	1.检查 className 属性值是否为null
	2.如果是,把新的class设置直接赋值给className属性
	3.如果不是,把一个空格和新的class设置值追加到className属性上去
*/
function addClass(element,value){
	if (!element.className) {
		element.className = value;
	}else {
		newClassName = element.className;
		newClassName += " ";
		newClassName += value;
		element.className = newClassName;
	}
}

http://www.kler.cn/a/7563.html

相关文章:

  • 蓝桥杯——数组
  • Rust学习(五):泛型、trait
  • 【C语言指南】C语言内存管理 深度解析
  • Ubuntu中使用纯命令行进行Android开发
  • 【已解决】git push一直提示输入用户名及密码、fatal: Could not read from remote repository的问题
  • Spring Boot3 实战案例合集上线了
  • Linux系统【centos7】怎么手动部署网站?
  • 台灯学生用哪个牌子最好?精选学生专用台灯第一品牌
  • 【从零开始学习 UVM】11.5、UVM Register Layer —— 后门访问 实战项目(RAL实战,交通灯为例)
  • 网站怎么优化出排名
  • SQLyog图形化界面工具【超详细讲解】
  • Go并发编程 -- 原子操作 sync/atomic
  • C++学习——解决一个double free or corruption (!prev)错误
  • 在MDK5(Keil537)中同时配置STM32和C51的环境(简单可行)
  • 【设计模式】创建型-单例模式
  • Android上传aar到本地仓
  • MongoDB 插入文档
  • 考勤、充电,绑身份,你的人员定位系统就缺它了!
  • 大数据 | 实验一:大数据系统基本实验 | 熟悉常用的HDFS操作
  • scroll-view不能滚动问题
  • RK3588平台开发系列讲解(同步与互斥篇)信号量介绍
  • Javscript字符串的常用方法有哪些?
  • Python 进阶指南(编程轻松进阶):七、编程术语
  • Python 进阶指南(编程轻松进阶):二、环境配置和命令行
  • 【QT】在公司为了统一代码的风格,那如何在Qt Creater中进行设置
  • ROS实践08 订阅乌龟位姿C++