• javaScript给元素添加多个class


    <html>

      <head>

        <style type="text/css">

          .div2{

          font-size:16px; 

          color:orange;

          }

          .div3{

          font-size:20px;

          color:blue;

          }

        <style>

        <script type="text/javascript">

          [1]直接把样式赋值给className

          var odiv=document.getElementById('div1');

          odiv.className= div3

          //这样我们会得到 class ="div3"  会直接把div2样式给覆盖掉;

          [2]使用累加赋值给className

          var odiv=document.getElementById('div1');

          odiv.className+=" "+div3      //样式和样式之间需要空隙 ,所以加个空字符串隔开

          //这样可以得到 class="div2 div3"  可以正常增加,但是我们在添加样式的时候我们得考虑下他本身之前有没有同名的样式,如果有我们添加的话就会变成累赘 比如class="div2 div3 div3";

          [3]检测样式原先之前是否有相同的样式

          var odiv=document.getElementById('div1'); 

          function hasClass(element,csName){

            element.className.match(RegExp('(\s|^)'+csName+'(\s|$)'));  //使用正则检测是否有相同的样式

        }  

          [4]在[3]的基础上我们就可以进行判断性给元素添加样式了     

          var odiv=document.getElementById('div1'); 

          function hasClass(element,csName){

           return  element.className.match(RegExp('(\s|^)'+csName+'(\s|$)'));  //使用正则检测是否有相同的样式

        } 

          function addClass(element,csName){

           if(!hasClass(element,csName)){

             element.className+=' '+csName;

          }

        addClass(odiv,'div3');

        //这样就可以灵活给元素添加样式了;

        【元素删除指定样式】

      //同样先进行判断,在进行删除

      

         var odiv=document.getElementById('div1'); 

         function hasClass(element,csName){

           return  element.className.match(RegExp('(\s|^)'+csName+'(\s|$)'));  //使用正则检测是否有相同的样式

        } 

         function deleteClass(element,csName){

           if(!hasClass(element,csName)){

             element.className.replace(RegExp('(\s|^)'+csName+'(\s|$)'),' ');   //利用正则捕获到要删除的样式的名称,然后把他替换成一个空白字符串,就相当于删除了

         }

      

     deleteClass(odiv,div3);

      }

       

       

        </script>

      </head>

      <body>

        <div id="div1" class='div2'> 测试</div>

      </body>

    </html>

  • 相关阅读:
    利用python数据分析与挖掘相关资料总结
    pandas库学习笔记(一)Series入门学习
    mysql error:You can't specify target table for update in FROM clause
    查询及删除重复记录的SQL语句
    PHP tripos()函数使用需要注意的问题
    如何用git上传代码到github详细步骤
    这是我的第一篇博客
    html link js
    BOM与DOM
    创建简单的表单
  • 原文地址:https://www.cnblogs.com/Mesiky/p/5685364.html
Copyright © 2020-2023  润新知