利用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) { ...
随机推荐
- node工具--express
//使用supervisor Connect是基于HTTP米快创建的:Express则是基于Connect上创建的: 绝大多数web服务器和浏览器之间的任务是通过url和method完成的,两者的组 ...
- 51nod 1165 整边直角三角形的数量
1165 整边直角三角形的数量 直角三角形,三条边的长度都是整数.给出周长N,求符合条件的三角形数量. 例如:N = 120,共有3种不同的满足条件的直角3角行.分别是:{20,48,52}, {24 ...
- BZOJ3118 : Orz the MST
对于树边显然只需要减少权值,对于非树边显然只需要增加权值 设i不为树边,j为树边 X[i]:i增加量 X[j]:j减少量 C[i]:修改1单位i的代价 对于每条非树边i(u,v),在树上u到v路径上的 ...
- Git 远程操作详解
Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...
- Sublime Text 2的快速入门和常用技巧
1. 安装扩展器包管理器Package Control组件 点击菜单 View -> Show Console 调出控制台或者按快捷键 “Ctrl + `”(1左边的符号,可能和QQ拼音输入法和 ...
- C#引用Interop.SQLDMO.dll后的注意事项(转)
C#引用sqldmo.dll的方法 找到 sqldmo.dll这个文件C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll用.N ...
- Oracle中Clob类型处理解析
最近利用NHibernate映射类型为Clob字段在插入数据时发现当字符的字节数(一个半角字符一个字节,一个全角字符两个字节)在2000-4000之间时报错(ORA-01461:仅可以插入LONG列的 ...
- [转] How to generate multiple outputs from single T4 template (T4 输出多个文件)
本文转自:http://www.olegsych.com/2008/03/how-to-generate-multiple-outputs-from-single-t4-template/ Updat ...
- Java集合之Collection接口
java的集合分为三大接口,分别是Collection,Map,Iterator,集合接口和类在java.util包中,此次主要介绍三大接口之一的Collection接口. 一些Collection允 ...
- pod 安装 Masonry 遇到问题
pod 导入第三方库 Masonry: 在工程masonryTest的文件下新建一个Podfile文件 编辑如下内容: platform :ios, '8.0'xcodeproj 'mansoryTe ...