第九章-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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统【centos7】怎么手动部署网站?

要手动部署网站在CentOS 7系统上,请按照以下步骤操作: 1. 安装Apache服务器 在终端中使用以下命令安装Apache服务器: sudo yum install httpd 2. 配置防火墙 设置防火墙规则以允许HTTP和HTTPS流量: sudo firewall-cmd --perm…

台灯学生用哪个牌子最好?精选学生专用台灯第一品牌

许多人知道,在我国普遍有有个现象,学生除了每天上下课,还有一系列的补习班、兴趣班,放学后的课后作业也是非常多,这就是现代学生的学习情况,随着双减政策出现,儿童的学习任务重,父母…

【从零开始学习 UVM】11.5、UVM Register Layer —— 后门访问 实战项目(RAL实战,交通灯为例)

文章目录 后门访问是什么?定义后门 HDL 路径示例sequence中的后门访问示例UVM寄存器模型允许使用前门访问DUT寄存器,就像我们之前在寄存器环境中看到的那样。 这意味着环境中的所有寄存器读写操作都会转换为总线事务,并驱动到设计的总线接口,就像典型系统中的任何其他硬件…

网站怎么优化出排名

网站怎么优化出排名,独立站SEO优化应该怎么做?#独立站#推广优化#SEO优化 今天跟大家聊一下独立站的SEO,是指个人或者小型的企业对独立站进行一个优化,以提高他在搜索引擎中的排名和流量,从而吸引更多的这个客户和用户。…

SQLyog图形化界面工具【超详细讲解】

目录 一、SQLyog 介绍 二、SQLyog 社区版下载 三、SQLyog 安装 1、选择Chinese后点击OK 2、点击“下一步” 3、选择“我接受”后点击“下一步” 4、点击“下一步” 5、修改安装位置(尽量不要安装在C盘),点击“安装” 6、安装后点击“下一步”

在MDK5(Keil537)中同时配置STM32和C51的环境(简单可行)

1.首先安装MDK5,可以看到,安装路径为D盘下的Keil_v4Andv5文件夹,next进行安装 2.安装完成后,这一步非常重要,将TOOLS文件改名,随便改什么都行。否则下载keil4时产生的TOOL文件将会取消下载或者替换掉原文件 3.接下来下…

【设计模式】创建型-单例模式

文章目录一、单例模式二、单例模式的八种实现方式2.1、饿汉式(静态常量)2.2、饿汉式(静态代码块)2.3、懒汉式(线程不安全)2.4、懒汉式(线程安全,同步方法)2.5、双重检查2…

Android上传aar到本地仓

由于最近项目结构变动,经常需要将module项目打成aar供其他项目引用,在使用过程中,遇到本地module项目上传maven后其引用的aar其他项目需要重复引入的问题,所以在此记录下,将本地module项目打包aar上传本地仓和第三方aar上传本地仓的方法. 一、将本地module项目打包成aar上传到…

考勤、充电,绑身份,你的人员定位系统就缺它了!

我们做人脸识别智能发卡充电柜是要解决什么问题? (1)工地、港口等场景,人员流动大,管理难 在工地、港口等场景,人员组成通常比较复杂。有来自施工方、客户、各劳务队、各管理层的人员,以及来自…

大数据 | 实验一:大数据系统基本实验 | 熟悉常用的HDFS操作

文章目录📚实验目的📚实验平台📚实验内容⭐️HDFSApi⭐️HDFSApi2⭐️HDFSApi3⭐️HDFSApi4⭐️HDFSApi5⭐️HDFSApi6⭐️HDFSApi7⭐️HDFSApi8⭐️HDFSApi9⭐️HDFSApi10📚实验目的 1)理解 HDFS 在 Hadoop 体系结构中…

scroll-view不能滚动问题

准备 <!--index.wxml--> <view class"container"> <scroll-view class"scroll-container"><view class"scroll-item" wx:key"index" wx:for"{{listData}}">{{item}}</view> </scroll-vi…

RK3588平台开发系列讲解(同步与互斥篇)信号量介绍

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、信号量介绍二、信号量API1、结构体2、API三、函数调用流程沉淀、分享、成长,让自己和他人都能有所收获!😄 📢上一章我们看了自旋锁的原理,本章我们一起学习下信号量的用法。 一、信号量介绍 和自旋锁一样,…

Python 进阶指南(编程轻松进阶):七、编程术语

原文&#xff1a;http://inventwithpython.com/beyond/chapter7.html 在 XKCD 漫画《飞人五号》&#xff08;xkcd.com/1133&#xff09;中&#xff0c;网络漫画的艺术家兰道尔门罗只用了 1000 个最常见的英语单词&#xff0c;就创作出了土星五号火箭的技术示意图。这部漫画把所…

Python 进阶指南(编程轻松进阶):二、环境配置和命令行

原文&#xff1a;http://inventwithpython.com/beyond/chapter2.html 环境配置是配置你的计算机环境&#xff0c;以便你写代码的过程。这包括安装任何必要的工具&#xff0c;配置它们&#xff0c;以及处理安装过程中的任何问题。没有一键配置这种傻瓜式操作过程&#xff0c;因为…

【QT】在公司为了统一代码的风格,那如何在Qt Creater中进行设置

目录1. 为什么需要管理代码风格&#xff1f;2. 配置Beautifier&#xff1a;帮助 → 关于插件&#xff0c;勾选Beautifier&#xff0c;然后重启Qt3. 设置format3.1 获取clang-format.exe3.2 工具 → 选项3.3 Beautifier → General → 勾选Enable auto format on file save → 选…

ROS实践08 订阅乌龟位姿C++

文章目录运行环境&#xff1a;思路&#xff1a;需求&#xff1a;1.1 获取乌龟位姿消息类型和消息格式1.2 创建工作空间1.3编写订阅1.4修改CMakeList1.5编译运行运行环境&#xff1a; ubuntu20.04 noetic 宏基暗影骑士笔记本 思路&#xff1a; rostopic type /turtle1/pose ro…

人人都是数据分析师-数据分析之数据图表可视化(下)

当前的BI报表、运营同学的汇报报告中数据图表大多为 表格、折线图、柱状图和饼图&#xff0c;但是实际上还有很多具有代表性的可视化图表&#xff0c;因此将对常见的可视化图表进行介绍&#xff0c;希望这些图表可视化方法能够更好的提供数据的可用性。 人人都是数据分析师-数…

每日一问-ChapGPT-20230406-中医基础-脉诊

文章目录每日一问-ChapGPT系列起因每日一问-ChapGPT-20230406-中医基础-脉诊脉诊脉诊的左右手脉诊拓展01沉脉:02迟脉:03促脉:04代脉:05动脉:06短脉:07伏脉:08浮脉:09革脉:10洪脉:11滑脉:12缓脉:13疾脉:14结脉:15紧脉:16芤脉:17散脉:18牢脉:19弦脉:20弱脉:21濡脉:22细脉:23微脉:…

MobTech MobLink|无码邀请是怎么处理的

无码邀请是一种移动场景还原的功能&#xff0c;它可以让用户在安装或打开App后&#xff0c;自动匹配邀请人的信息&#xff0c;无需输入邀请码。这样可以优化用户体验&#xff0c;提高转化率&#xff0c;同时减少开发者的开发和维护成本。 无码邀请的实现原理是利用深度链接技术…
最新文章