如何实现js改变css?

html-css021

如何实现js改变css?,第1张

js改变css,首先我们需要考虑的就是将要改变的那个元素获取到,一般是通过给一个id,然后在通过style获去改变那个元素的css,这里通过代码来理解:

<html>

<head></head>

<script>

window.onload = function(){

var oDiv = document.getElementById('div1')

var oDiv1.style.color = "#f00"

}

</script>

<body>

<div id='div1'>

<p>我是会变颜色</p>

</div>

</body>

</html>

更改一个标签的 class 属性的代码是:

document.getElementById( id ).className = 字符串

document.getElementById( id ) 用于获取标签对应的 DOM 对象,你也可以用其它方法获取。className 是 DOM 对象的一个属性,它对应于标签的 class 属性。字符串 是 class 属性的新值,它应该是一个已定义的CSS选择符。

class 属性是在标签上引用样式表的方法之一,它的值是一个样式表的选择符,如果改变了 class 属性的值,标签所引用的样式表也就更换了,所以这属于第一种修改方法。

利用这种办法可以把标签的CSS样式表替换成另外一个,也可以让一个没有应用CSS样式的标签应用指定的样式。

举例:

代码如下:

<style type="text/css">

.txt {

font-size: 30pxfont-weight: boldcolor: red

}

</style>

<div id="tt">欢迎光临!</div>

<p><button on click="setClass()">更改样式</button></p>

<script type="text/javas cript">

function setClass()

{

document.getElementById( "tt" ).className = "txt"

}

</script>

详细方法如下:第一步:在连接样式表的元素里定义一个id,例如<link href="1.css" rel="stylesheet" type="text/css" id="css">我定义的id是css。第二步:写一个js函数,代码如下:<script type="text/javascript">function change(a){var css=document.getElementById("css");if (a==1)css.setAttribute("href","1.css");if (a==2)css.setAttribute("href","2.css");}</script>这个函数的code可以放在页面的任何地方。第三步:为改变页面的样式表的连接添加一个函数的触发事件,代码如下:<a href="#" onClick="change(1)">1.css</a><a href="#" onClick="change(2)">2.css</a>该效果在IE和FF下均测试通过,相信大家看完后因该非常明了,利用这个方法我们可以让浏览者自己选择需要显示的样式表,好比年迈者可以选择一个字体较大的样式表。这里需要留意的两点是:另外假如是改变整个页面的样式,你需要在样式表文件里定义body的高度为100%