用JavaScript给所有相同的class添加CSS样式。

用JavaScript给所有相同的class添加CSS样式。,第1张

<!doctype html>

<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>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11934788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存