用js控制css属性
在用js控制css属性时,行内css属性可以任意控制,但若是在<style></style>中写的css属性,均不能用alert读取,但是赋值却有几种现象,
第一种:无法读取,能直接赋值
如下:
<!DOCTYPE html>
<head>
<title>新建网页</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content=" "/>
<style>
div{
width:300px;
height:300px;
border:1px solid blue;
}
</style>
</head>
<body>
<div>
<p>
12345
</p>
</div>
</body>
<script>
var div=document.getElementsByTagName('div')[0];
alert(div.style.width);
div.style.width='600px';
</script>
</html>
第二种:无法进行计算后的赋值,
div.style.width=parseInt(div.style.width)+100+'px';
这行代码不起作用
解决方式:这种情况下就要用到obj.currentStyle和getComputedStyle()这两个函数来先读取到width的值,然后进行计算,再赋值。
<script>
function getStyle(obj,attr)
{
return obj.currentStyle?obj.currentStyle[attr]:getComputedStyle(obj,null)[attr];
}
function t1()
{
var div=document.getElementsByTagName('div')[0];
div.style.width=parseInt(getStyle(div,'width'))+5+'px';//两个方法获取对象为只读
}
</script>
第三种:先直接赋值,然后进行计算后赋值,这样能够两次都赋值
即:
<script>
var div=document.getElementsByTagName('div')[0];
alert(div.style.width);
div.style.width='600px';
alert('。。。');
div.style.width=parseInt(div.style.width)+100+'px';
</script>
这是因为在前一次赋值计算中:div.style.width='600px';已经给他赋了行内css值,所以后面一个进行计算后赋值时可以读取到并赋值。
已解决~~~
用js控制css属性的更多相关文章
- JS控制css float属性的用法经验总结
JavaScript与CSS属性的控制网上很常见,因此来说用js操作css属性是有一定规律的. 1.对于没有中划线的css属性一般直接使用style.属性名即可. 如:obj.style.margin ...
- JS 控制CSS样式表
JS控制CSS所使用的方法: <style> .rule{ display: none; } </style> 你想要改变把他的display属性由none改为inline. ...
- 用JS控制CSS基本样式
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp29 用JS控制CSS基本样式的方法 CSS code .class1 { ...
- html页面中插入html的标签,JS控制标签属性
html页面中插入html的标签 方法1: 使用标签: <textara> </textara>标签 方法2: 使用JS: document.getElementById(&q ...
- Vue.js 控制css样式
<script src="https://unpkg.com/vue/dist/vue.js"></script> <style type=" ...
- JS 获取CSS属性值
obj: 元素对象 attribute: 属性 返回值:该对象这个属性的值 function getDefaultStyle(obj,attribute){ // 返回最终样式函数,兼容IE和DOM, ...
- js控制css时注意
font-size:10px--------e.style.fontSize="10px " 属性名:font-size--------fontSize; 属性值:10px---- ...
- js 修改css属性值
js不能修改样式表 但是可以修改元素:比如 <div id="test" class="star-rating"></div> 对于上面 ...
- js 添加css属性
$(".active").css('border','1px solid #ddd')curLi.css('border','2px solid red')curLi.css('b ...
随机推荐
- iOS开发中@property的属性weak nonatomic strong readonly等介绍
@property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法.在Xcode4.5以及以后的版本,@synthesize可以省略. 1.atomic与nonatomica ...
- CentOS系统通过PXE实现批量无人值守安装
通过传统的方式安装和部署计算机时,都需要人工干预的方式完成安装.如果需要部署大量的类似功能的工作站或服务器,则需要耗费大量的时间.同时传统的安装方式,每台计算机都需要光驱设备及安装光盘等介质,会额外增 ...
- python之字典常用语法
1. 创建字典 描述:生成字典 语法: dic={'k1':'v1'} 样例: dic=dict(k1='v1',k2='v2') dic={'k1':'v1','k2':'v2'} 2. 取键值ge ...
- Python抓取第一网贷中国网贷理财每日收益率指数
链接:http://www.p2p001.com/licai/index/id/147.html 所需获取数据链接类似于:http://www.p2p001.com/licai/shownews/id ...
- select中的文字垂直居中的问题
select文字在默认和边框高度增加时 是默认居中的.你要是不想居中的话可以用padding值调整.但是右侧的三角不会改变. select在高度减小时.字体是不会垂直居中的.无论你用什么他都不会垂直居 ...
- javascript名字由来
javascript是由web发展初期的网景(Netscape)公司创建的,javascript是Sun Microsystem 公司(Oracle)的注册商标,用来特指网景(现在的Mozilla)对 ...
- object c入门
无意间看到Object C编写的程序,感觉蛮有意思的,记载下来,慢慢品味,也许会有用得上的时候.吼吼~~ 大部分有一点其他平台开发基础的初学者看到XCode,第一感想是磨拳擦掌,看到 Interfac ...
- C++inserter
C++的迭代器适配器中常用的有插入迭代器(Inser Iterator).流迭代器(Stream Iterator)和逆向迭代器(Reverse Iterator)等! 本文主要是介绍插入迭代器(In ...
- 如何修改Window系统下PATH路径以及win8下masm32V11
如何修改Window系统下PATH路径 //其实这个都是临时性的, 退出dos窗口就没有用了,只是做个笔记罢了 C:\Users\Administrator> set path=E ...
- laravel项目中手机浏览器在线阅读pdf文件-->PDFJS插件
第一步:下载链接:http://mozilla.github.io/pdf.js/getting_started/#download 第二步:将下载的文件放在项目中. 第三步:在项目中想要预览的地方给 ...