js 怎么通过class改变样式

js 怎么通过class改变样式,第1张

js通过class改变样式,可以使用Dom的className属性设置元素的样式。完整示例代码如下:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>测试页面</title>

<style type="text/css">

.themeCls {

color: #000

background-color: #f60

line-height: 25px

}

</style>

</head>

<body style="background-color:#ccc">

<span id="theme">这是一段测试文本<br />用来测试js通过class改变样式</span>

<script type="text/javascript">

var domTheme = document.getElementById("theme")

theme.className = "themeCls"

</script>

</body>

</html>

具体 *** 作步骤如下:

1、新建一个html文件,命名为t.html。

2、打开t.html。

3、在t.html中写入html结构代码,其中设置需要添加class类的元素的ID为“theme”。代码如下:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>测试页面</title>

</head>

<body style="background-color:#ccc">

<span id="theme">这是一段测试文本<br />用来测试js通过class改变样式</span>

</body>

</html>

4、设置一个css类,命名为”themeCls”,用于在javascript *** 作时给元素添加clsss。”themeCls”类为了方便观察效果,设置css规则为字体颜色为黑色#000,背景为橙色#f60,行高为25像素。代码如下:

<style type="text/css">

.themeCls {

color: #000

background-color: #f60

line-height: 25px

}

</style>

5、编写javascript代码,获取ID为“theme”的元素并设置元素的class类为“themeCls”,代码如下:

<script type="text/javascript">

var domTheme = document.getElementById("theme")

domTheme .className = "themeCls"

</script>

6、打开浏览器,浏览t.html页面,发现页面中”这是一段测试文本用来测试js通过class改变样式”这一段文本字体颜色呈现黑色,背景呈现橙色,说明我们为元素添加class类“themeCls”成功了。

今天和大家分享如何用原生js实现添加样式功能

jQuery里封装的有addClass函数,调用十分方便,那么用JS如何实现呢,下面我们来介绍下。

首先是CSS部分

写一个新的class用来添加

HTML部分

一个没有样式的div

script部分

声明addClass函数,把标签元素和新的class作为参数传进去,进行判断,如果标签元素原来有样式,那么就增加一个样式,如果没有样式,那么就把标签元素的样式设为传进来的样式。

调用函数,这样就实现了样式的添加。

更多前端内容 请 点击关注 点击关注

<!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一样的效果


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

原文地址:https://www.54852.com/bake/11748836.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存