利用JS脚本通过getAttribute()和setAttribute()等对CSS样式进行操作
HTML中引入CSS样式的方式有三种:
1.最常用的,引入样式表,在样式表中编写样式,引入方式如下:
<link href="css/style.css" rel="stylesheet" type="text/css">
2.在Html头部用<style></style>包起来,在这里面编写样式:
<style type="text/css">
*{
padding: 0;margin: 0
}
</style>
3.在标签里面直接编写行内样式。
<div style="color: #333"><div>
下面就简单的介绍下利用JS对内联样式进行操作:
脚本化CSS最直接的方法就是更改单独的文档元素的style的属性值,类似大多数的HTML的属性,style也是元素对象的属性,其可以在JS中对其进行操作。由于style具有特殊性,通常style中的属性不只有一个,因而style的值不单单只是一个字符串,而是一个CSSStyleDeclaration对象。通过对该对象的操作可以利用JS更改元素的样式。利用JS操作CSS样式需要注意以下几点:
(1)通常通过HTML的属性和利用<style>标签定义的样式属性的面子中会包含有一个或者多个连字符如:background-color,但是在JS中两字符是减号,像前面那样书写会报错的。因而在利用JS对属性进行操作时首先将连字符去掉,同时需要将原来紧连着连字符的后的字符转换为大写。这样CSS属性border-width就转换为了:borderWidth。JS中通过如下的方法对CSS样式属性进行访问:e.style.borderWidth="2px"。另外CSS属性中如果使用了JS中的保留字,则需要在上述的基础上加上CSS,如CSS中的float属性,利用CSSStyleDeclaration对象的cssFloat属性来进行设置。
(2)CSS样式属性值在CSSStyleDeclaration对象中使用时需要利用字符串形式。同时所有的定位属性(如:width,height,top,left等)都需要加上单位px。这样再利用JS 对其进行运算时需先对字符串进行处理(可以利用字符串对象的方法split)。
(3)JS中获取属性值和给属性赋值的几种方式:
a、直接利用CSSStyleDeclaration对象进行操作
b、getAttribute()和setAttribute()分别对获取属性值和给某属性赋值。
但是通过以上两种方式对CS样式的属性进行操作时,只能获取已经通过JS代码进行设置过的值或者通过HTML元素显示设置了想要的内联样式的值(即在HTML标签中通过属性style进行设置了的属性值)。也就是说文档可能包含一个样式表以设置div的宽度均为300px,但是通过JS读取该属性时将会得到一个空的字符串,除非在JS中已经有一个style属性覆盖了样式列表中的设置。
c、利用window对象的方法getComputedStyle()获取计算后的样式,该方法是可以获取上面不能获得到的属性值得,但是通过该方法获取到的属性是只读的,同时都是绝对值(如width用百分比表示的会计算转换为具体的数值,颜色会转换成rgba),而且该方法不计算复合属性,不能获取符合属性的值。
d、通过获取元素对象后利用element.css({width:50px; height:50px;})的方式也可以为元素对像添加样式。
利用JS脚本通过getAttribute()和setAttribute()等对CSS样式进行操作的更多相关文章
- 利用 JS 脚本实现网页全自动秒杀抢购
利用 JS 脚本实现网页全自动秒杀抢购 倒计时页面: 倒计时未结束时,购买按钮还不能点击. 结束时,可以点击购买,点击后出现提示"付款成功" 展示效果 1.制作测试网页 首先我们来 ...
- js控制不同的时间段显示不同的css样式
js控制不同的时间段显示不同的css样式 js函数,可以放到单独的js文件中也可以放到当前页的<head>标记之内 function getCSS(){ datetoday ...
- 第九章 利用DOM脚本检索,替换,设置,追加样式信息
我们浏览器里看到的网页是由以下三层信息构成的一个共同体: -结构层,由HTML或XHTML之类的标记语言负责去搭建文档的结构. -表示层,由CSS负责设置文档的呈现效果. -行为层,由JavaScri ...
- 投票系统 & js脚本简单刷票
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【转】第5篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:自动注册JS脚本+委托回调方法分析
作者: 牛A与牛C之间 时间: 2013-11-19 分类: 技术文章 | 暂无评论 | 编辑文章 主页 » 技术文章 » 第5篇:Xilium CefGlue 关于 CLR Object 与 JS ...
- 关于写作那些事之利用 js 统计各大博客阅读量
在日常文章数据统计的过程中,纯手动方式已经难以应付,于是乎,逐步开始了程序介入方式进行统计. 在上一节中,探索利用 csv 文件格式进行文章数据统计,本来以为能够应付一阵子,没想到仅仅一天我就放弃了. ...
- jacascript CSS样式的脚本化(js)操作
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 引入CSS有3种方式:行间样式,内联样式和外部链接样式. 在实际工作中,我们使用 javascript 操 ...
- Vue设置全局js/css样式
''' 配置全局js mian.js: import settings from '@/assets/js/settings' Vue.prototype.$settings = settings; ...
- C#中在AxWebBrowser控件注入JS脚本的方法
/// <summary> /// 窗体加载 /// </summary> private void JS_Load(object sender, EventArgs e) { ...
随机推荐
- 简单几何(数学公式+凸包) UVA 11168 Airport
题目传送门 题意:找一条直线,使得其余的点都在直线的同一侧,而且使得到直线的平均距离最短. 分析:训练指南P274,先求凸包,如果每条边都算一边的话,是O (n ^ 2),然而根据公式知直线一般式为A ...
- 贪心 Codeforces Round #301 (Div. 2) A. Combination Lock
题目传送门 /* 贪心水题:累加到目标数字的距离,两头找取最小值 */ #include <cstdio> #include <iostream> #include <a ...
- Unity3D Built-in Shader详解一
Unity3D内置了很多Shader,文档很详细,自己翻一下.便于加深印象. 首先先解释下Unity3D的Shader.Unity里面的Shaders是使用一种叫ShaderLab的语言编写的,它同微 ...
- LA 3415 (二分图+最大独立集)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...
- 添加 Windows 8.1 无虚拟机启动项 解决极品飞车的不支持虚拟机报错
在Windows 8.1 64位环境下,安装完极品飞车17后,运行程序会出现错误对话框: Sorry, this application cannot run under a Virual Machi ...
- 基于开源Dubbo分布式RPC服务框架的部署整合
一.前言 Dubbo 作为SOA服务化治理方案的核心框架,用于提高业务逻辑的复用.整合.集中管理,具有极高的可靠性(HA)和伸缩性,被应用于阿里巴巴各成员站点,同时在包括JD.当当在内的众多互联网项目 ...
- Python小例子
import urllib.request as request import urllib.parse as parse import string print(""" ...
- 用Java通过串口发送手机短信
用Java通过串口发短信其实很简单,因为有现成的类库供我们使用.有底层的类库,也有封装好一点的类库,下面我介绍一下在 Win32 平台下发送短信的方法. 如果你想用更底层的类库开发功能更强大的应用程序 ...
- 将textField编辑完内容作为参数发送请求
将textField编辑完内容作为参数发送请求 首先赋值默认值 其次把编辑完的内容传给model,这样的话,model里面的数据就是编辑完之后的内容了
- tableviewCell折叠状态2
// // LHQContentViewCell.h // 11 - 投资管理 - 李洪强 // // Created by vic fan on 16/4/12. // Copyright ...