zoukankan      html  css  js  c++  java
  • 原生js动态创建、获取、删除属性的几种方式

    1.创建属性

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>动态创建属性</title>
    <style>
    .democlass{color:blue;}
    </style>
    </head>
    <body>
        
    <ul class="container">
      <li class="child">Coffee</li>
      <li class="child">Tea</li>
      <li class="child">Coffee</li>
      <li class="child">Tea</li>
    </ul>
        
    <script>
    /*第一种方法(此方法仅限于css样式)
        var child = document.getElementsByTagName("li")[0];
        child.style.color="red";
    */
    
    /*第二种方法
      document.getElementsByTagName("li")[0].setAttribute("class","democlass"); 
    */
    //第三种方法
    var newStyle=document.getElementsByTagName("li")[1]; var newAttr = document.createAttribute("class"); newAttr.nodeValue="democlass";  //使用value或nodeValue均可 newStyle.setAttributeNode(newAttr); </script> </body> </html>

    getdd[i].className="selected"; //通过数组设置标签直接添加类名

     2.获取属性

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>动态获取属性</title>
    <style>
    .democlass{
        color:blue;
    }
    </style>
    </head>
    <body>
    <p id="demo"></p>    
    <ul class="example">
        <li class="child1">Coffee</li>
        <li class="child2">Tea</li>
        <li class="child3">Coffee</li>
        <li class="child4">Tea</li>
    </ul>
        
    <script>
       /*第一种方式:返回指定属性名的属性值
          var getAttr=document.getElementsByTagName("li")[0].getAttribute("class");   
          document.getElementById("demo").innerHTML=getAttr;
         */
        //第二种方式:返回指定属性名的属性值,以Attr对象
         var getAttr=document.getElementsByTagName("li")[0].getAttributeNode("class").value;   
         document.getElementById("demo").innerHTML=getAttr; 
        //二种结果都返回child1
    </script>
    </body>
    </html>

    3.删除属性(文字颜色)

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>动态删除属性</title>
    <style>
    .democlass{
        color:blue;
    }
    </style>
    </head>
    <body>
    <p id="demo"></p>    
    <ul class="example">
        <li class="child1">Coffee</li>
        <li class="child2 democlass">Tea</li>
    </ul>
        
    <script>
        /*第一种方式:删除指定的文字颜色属性
        document.getElementsByTagName("li")[1].removeAttribute("class"); 
     
        */
        //第二种方式:删除指定的文字颜色属性,并以 Attr Node 对象返回被删除的属性
        var n=document.getElementsByTagName("li")[1];
        var a=n.getAttributeNode("class");
        n.removeAttributeNode(a);
       
      
    /* 此方法与 removeAttributeNode() 方法的差异是:removeAttributeNode() 方法删除指定的 Attr 对象,而此方法删除具有指定名称的属性。结果是相同的。同时此方法不返回值,而 removeAttributeNode() 方法返回被删除的属性,以 Attr 对象的形式。 */ </script> </body> </html>

     如果仅仅只是添加类:document.getElementById("myDIV").classList.add("mystyle")

    静则思,思则变,变则通,通则达
  • 相关阅读:
    github not authorized eclipse 关于 代码不能提交到GitHub
    idea 导入项目后 有的项目目录结构不展开解决办法
    intellij idea 主题大全,看不惯idea 那2种主题的来这里了
    win10 系统输入法与 idea的 ctr+shift+f 快捷键冲突,解决办法
    此地址使用了一个通常用于网络浏览以外目的的端口。出于安全原因,Firefox 取消了该请求。
    关于IntelliJ IDEA有时候快捷键无效的说明
    杜恩德是谁?
    oracle如何连接别人的数据库,需要在本地添加一些配置
    2.6---找有环链表的开头结点(CC150)
    2.3---删除链表的结点,不提供头结点(CC150)
  • 原文地址:https://www.cnblogs.com/jing-tian/p/10809558.html
Copyright © 2011-2022 走看看