如何动态添加class样式

如何动态添加class样式,第1张

1

如果学WEB,w3school是一个非常有用的网站,总能找到你需要的东西。

2

如下图所示,这是w3school中对jquery属性 *** 作方法的介绍。

3

attr()可以设置和获取class属性。

设置:

$("img").attr("class","intro")

获取:

$("img").attr("class")

注:

attr()是将原有的class属性设置为新的class属性,不是在原来的基础上添加新的class属性。

4

那如果要在原来的class样式基础上添加新的样式要使用什么方法呢?

那就是addClass()方法。

5

addClass()可以添加一个或多个class属性。

添加一个class属性:

$("img").addClass("intro")

添加多个class属性:

$("img").addClass("intro1 intro2")//属性之间用空格分隔。

注:

当多class样式作用于一个元素上时,后添加的class样式会覆盖之前的。

6

示例:

$(document).ready(function(){ $("button").click(function(){$("p:first").addClass("intro1 intro2") })})

<style type="text/css">.intro1{font-size:120%color:red}.intro2{color:blue}</style>

<p>This is a paragraph.</p>

添加了两个class样式,后面的样式覆盖了之前的。所以字体显示是蓝色的。

今天和大家分享如何用原生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://outofmemory.cn/bake/11421717.html

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

发表评论

登录后才能评论

评论列表(0条)

保存