<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
</head>
<body>
<div id="container" style="width: 480px height: 220pxborder:1px solid #e3e3e3" onclick="renderLink()">
<a href="#" class="mya">Test1</a>
<a href="#">Test2</a>
<a href="#" class="mya">Test3</a>
<a href="#" class="mya">Test4</a>
<a href="#" class="mya">Test5</a>
<a href="#">Test6</a>
</div>
</body>
</html>
<script type="text/javascript">
function renderLink(){
var alist = document.getElementsByClassName("mya")
if(alist){
for(var idx = 0 idx < alist.length idx ++){
var mya = alist[idx]
mya.style.color = "red"
mya.style.fontSize = "36px"
}
}
}
</script>
先用document.getElementsByClassName("className")取得所有class为className的元素,再循环添加样式即可,如果用JQuery会简单很多;也可以自己用JS封装一个函数实现JQuery一样的效果
JavaScript动态建立或增加CSS样式表,参考如下:
1、简单的方法:
document.createStyleSheet().cssText = '标签{color:red' +// 这个注释只在当前JS中帮助理解,并不会写入CSS中
'width:300pxheight:150px}' +
'.类名{……}' +
'#ID们{……}'
2、比较完美的方法,防止重复添加,通过添加样式表ID并对其判断来实现:
if (!document.styleSheets['要建立的样式表ID如theforever']) { //先检查要建立的样式表ID是否存在,防止重复添加var ss = document.createStyleSheet()
ss.owningElement.id = '要建立的样式表ID如theforever'
ss.cssText = '标签{display:inline-blockoverflow:hidden' +
// 这个注释只在当前JS中帮助理解,并不会写入CSS中
'text-align:leftwidth:300pxheight:150px}' +
'.类名{……}' +
'#ID们{……}'
}
在页面内用JS *** 作CSS除非用AJAX,但 *** 作页面内的样式的话,是可以的。 *** 作样式分为改变直接样式,改变className和改变cssText三种一、局部改变样式
调用方法:
改变className
<div id="demo">测试</div>
<script>
document.getElementById('demo').className="test"
</script>
改变直接样式
<div id="demo">测试</div>
<script>
document.getElementById('obj').style.backgroundColor="#003366"
</script>
二、全局改变样式
可以通过改变外链样式的的href的值实现网页样式的实时切换
<link rel = "stylesheet" type="text/css" id="css" href="firefox.css" />
<span on click="javascript:document.getElementById('css').href = 'ie.css'">点我改变样式</span>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)