zoukankan      html  css  js  c++  java
  • java基础67 JavaScript通过关系找节点、添加附件(网页知识)

    1、通过关系找节点(父子关系,兄弟关系) 

    1.1、常用方法

        parentNode:获取当前元素的父节点.
        childNodes:获取当前元素的所有下一级子元素
        firstChild:获取当前节点的第一个子节点
        lastChild:获取当前节点的最后一个子节点
        nextSibling:获取当前节点的下一个节点(兄弟节点)
        previousSibling:获取当前节点的上一个节点.

    1.2、实例

     1 <!doctype html>
     2 <html>
     3 <head>
     4 <meta charset="utf-8">
     5 <title>通过关系找节点</title>
     6 </head>
     7 
     8 <body>
     9     <input type="text" id="username"/><a href="#">卖火柴的小女孩</a>
    10 </body>
    11 <script type="text/javascript">
    12     var bodyNode=document.getElementsByTagName("body")[0];
    13     var parentNode=bodyNode.parentNode;
    14     alert("父节点的名称"+parentNode.nodeName);//父节点:HTML
    15 
    16     var children=bodyNode.childNodes;
    17     alert(children.length);//共8个子节点
    18     for(var i=0;i<children.length;i++){
    19         alert("节点的名字:"+children[i].nodeName);    
    20     }
    21     
    22     var inputNode=document.getElementById("username");
    23     alert("下一个兄弟节点:"+inputNode.nextSibling.nodeName);//返回值:A
    24     alert("上一个兄弟节点:"+inputNode.previousSibling.nodeName);//返回值:#text    表示的是:空格/文本内容(字符串)
    25     
    26 </script>
    27 </html>

    效果图

    2、添加附件

    2.1、创建子节点插入节点,设置节点属性的一些方法

        document.createElement("标签名"):创建新元素节点
        setAttribute("属性名","属性值"):设置指定标签属性的值。
        appendChild():给对象追加一个子元素。 

    2.2、实例

    例1:

     1 <!doctype html>
     2 <html>
     3 <head>
     4 <meta charset="utf-8">
     5 <title>添加附件</title>
     6 </head>
     7 <script type="text/javascript">
     8     var num=1;
     9     function add(){
    10         var inputNode=document.createElement("input");
    11         inputNode.setAttribute("type","button");
    12         inputNode.setAttribute("value","按钮"+num);
    13         num++;
    14         //因为上面的内容要添加到body的input标签后面,所以这里要获取body标签的位置
    15         var bodyNode=document.getElementsByTagName("body")[0];
    16         bodyNode.appendChild(inputNode);//appendChild 添加子节点
    17     }
    18 </script>
    19 <body>
    20     <input type="button" onClick="add()" value="添加"/>
    21 </body>
    22 </html>

    效果图

     例2:

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     2 "http://www.w3.org/TR/html4/loose.dtd">
     3 <html>
     4 <head>
     5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
     6 <title>JavaScript添加和删除附件</title>
     7 </head>
     8 <script type="text/javascript">
     9     function addFile(){
    10         //先创建一个tr对象
    11         var trNode=document.createElement("tr");
    12         //创建td对象
    13         var tdNode1=document.createElement("td");
    14         var tdNode2=document.createElement("td");
    15         //
    16         tdNode1.innerHTML="<input type='file'/>";
    17         tdNode2.innerHTML="<a href='#' onClick='delFile(this)'>删除文件</a>";
    18         //把td的节点添加到tr节点上
    19         trNode.appendChild(tdNode1);
    20         trNode.appendChild(tdNode2);
    21         var tbodyNode=document.getElementsByTagName("tbody")[0];
    22         var lastRow=document.getElementById("lastRow");
    23         tbodyNode.insertBefore(trNode,lastRow);
    24     }
    25     
    26     //删除附件
    27     function delFile(aNode){
    28             var trNode=aNode.parentNode.parentNode;
    29             var tbodyNode=document.getElementsByTagName("tbody")[0];
    30             tbodyNode.removeChild(trNode);
    31     }
    32 </script>
    33 <body>
    34     <table>
    35     <tr>
    36         <td><input type="file"/></td><td><a href="#" onClick="delFile(this)">删除文件</a></td> <!-- delFile(this):里面的this表示当前选中的选项 -->
    37     </tr>
    38     </br>
    39     <tr id="lastRow">
    40     <td colspan="2"><input type="button" onClick="addFile()" value="添加附件"/></td>
    41     </tr>
    42     </table>
    43 </body>
    44 </html>

    结果图

    原创作者:DSHORE

    作者主页:http://www.cnblogs.com/dshore123/

    原文出自:https://www.cnblogs.com/dshore123/p/9528306.html

    欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

  • 相关阅读:
    系统数据查询耗时优化解决方案
    Mybatis逆向工程
    微服务架构下的分布式数据管理
    分布式或微服务架构中的分布式锁应用
    word 常用宏代码
    office2003?2007共存?版本各自打开的解决方案
    word域3
    2014新版《安全生产法》测试题
    Excel与Word套打功能使用技巧及EXCEL数据处理成绩
    word域2
  • 原文地址:https://www.cnblogs.com/dshore123/p/9528306.html
Copyright © 2011-2022 走看看