java基础67 JavaScript通过关系找节点、添加附件(网页知识)
1、通过关系找节点(父子关系,兄弟关系)
1.1、常用方法
parentNode:获取当前元素的父节点.
childNodes:获取当前元素的所有下一级子元素
firstChild:获取当前节点的第一个子节点
lastChild:获取当前节点的最后一个子节点
nextSibling:获取当前节点的下一个节点(兄弟节点)
previousSibling:获取当前节点的上一个节点.
1.2、实例
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>通过关系找节点</title>
</head> <body>
<input type="text" id="username"/><a href="#">卖火柴的小女孩</a>
</body>
<script type="text/javascript">
var bodyNode=document.getElementsByTagName("body")[0];
var parentNode=bodyNode.parentNode;
alert("父节点的名称"+parentNode.nodeName);//父节点:HTML var children=bodyNode.childNodes;
alert(children.length);//共8个子节点
for(var i=0;i<children.length;i++){
alert("节点的名字:"+children[i].nodeName);
} var inputNode=document.getElementById("username");
alert("下一个兄弟节点:"+inputNode.nextSibling.nodeName);//返回值:A
alert("上一个兄弟节点:"+inputNode.previousSibling.nodeName);//返回值:#text 表示的是:空格/文本内容(字符串) </script>
</html>
效果图

2、添加附件
2.1、创建子节点插入节点,设置节点属性的一些方法
document.createElement("标签名"):创建新元素节点
setAttribute("属性名","属性值"):设置指定标签属性的值。
appendChild():给对象追加一个子元素。
2.2、实例
例1:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>添加附件</title>
</head>
<script type="text/javascript">
var num=1;
function add(){
var inputNode=document.createElement("input");
inputNode.setAttribute("type","button");
inputNode.setAttribute("value","按钮"+num);
num++;
//因为上面的内容要添加到body的input标签后面,所以这里要获取body标签的位置
var bodyNode=document.getElementsByTagName("body")[0];
bodyNode.appendChild(inputNode);//appendChild 添加子节点
}
</script>
<body>
<input type="button" onClick="add()" value="添加"/>
</body>
</html>
效果图

例2:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JavaScript添加和删除附件</title>
</head>
<script type="text/javascript">
function addFile(){
//先创建一个tr对象
var trNode=document.createElement("tr");
//创建td对象
var tdNode1=document.createElement("td");
var tdNode2=document.createElement("td");
//
tdNode1.innerHTML="<input type='file'/>";
tdNode2.innerHTML="<a href='#' onClick='delFile(this)'>删除文件</a>";
//把td的节点添加到tr节点上
trNode.appendChild(tdNode1);
trNode.appendChild(tdNode2);
var tbodyNode=document.getElementsByTagName("tbody")[0];
var lastRow=document.getElementById("lastRow");
tbodyNode.insertBefore(trNode,lastRow);
} //删除附件
function delFile(aNode){
var trNode=aNode.parentNode.parentNode;
var tbodyNode=document.getElementsByTagName("tbody")[0];
tbodyNode.removeChild(trNode);
}
</script>
<body>
<table>
<tr>
<td><input type="file"/></td><td><a href="#" onClick="delFile(this)">删除文件</a></td> <!-- delFile(this):里面的this表示当前选中的选项 -->
</tr>
</br>
<tr id="lastRow">
<td colspan="2"><input type="button" onClick="addFile()" value="添加附件"/></td>
</tr>
</table>
</body>
</html>
结果图

|
原创作者:DSHORE 作者主页:http://www.cnblogs.com/dshore123/ 原文出自:https://www.cnblogs.com/dshore123/p/9528306.html 欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!) |
java基础67 JavaScript通过关系找节点、添加附件(网页知识)的更多相关文章
- java基础59 JavaScript运算符与控制流程语句(网页知识)
1.JavaScript运算符 1.1.加减乘除法 加法:+(加法,连接符,正数) true是1,false是0 减法:- 乘法:* 除法:/ 1.2.比较运算符 ...
- Java基础83 JSP标签及jsp自定义标签(网页知识)
1.JSP标签 替代jsp脚本,用于jsp中执行java代码1.1.内置标签: <jsp:forward></jsp:forward> 相当于:request.getReu ...
- java基础73 dom4j修改xml里面的内容(网页知识)
1.DOM4J对XML文件进行增删改操作 实现代码 package com.shore.code; import java.io.File; import java.io.FileOutputStre ...
- java基础58 JavaScript的几种格式和变量的声明方式(网页知识)
1.JavaScript的几种格式 1.1.JavaScript的特点 1.跨平台性 2.安全性.(javaScript代码不能直接访问电脑硬盘上的信息) 1.2.Java与javaScript ...
- java基础64 JavaScript中的Arrays数组对象和prototype原型属性(网页知识)
1.Arrays数组对象的创建方式 方式一: var 变量名=new Array(); //创建一个长度为0的数组. 方式二: var 变量名=new Array(长度); //创建一个指定长度的数组 ...
- java基础68 JavaScript城市联动框(网页知识)
1.城市联动框 <!doctype html> <html> <head> <meta charset="utf-8"> <t ...
- java基础63 JavaScript中的Number、Math、String、Date对象(网页知识)
本文知识点(目录): 1.Number对象 2.Math对象 3.String对象 4.Date对象 (日历例子) 1.Number对象 1.1.Number对象的创建方式 方式1: ...
- java基础69 JavaScript产生伪验证码(网页知识)
1.伪验证码 <!doctype html> //软件版本:DW2018版 <html> <head> <meta charset="utf-8&q ...
- java基础66 JavaScript中的事件、localtion对象、screen对象(网页知识)
1.JavaScript中的事件注册 1.1.事件的注册方式 方式1:直接在html元素上注册 <body onLoad="ready()"></body > ...
随机推荐
- POJ 1966 Cable TV Network 【经典最小割问题】
Description n个点的无向图,问最少删掉几个点,使得图不连通 n<=50 m也许可以到完全图? Solution 最少,割点,不连通,可以想到最小割. 发现,图不连通,必然存在两个点不 ...
- MySQL 第二篇:库操作
一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...
- RabbitMQ 中 Connection 和 Channel 详解
我们知道无论是生产者还是消费者,都需要和 RabbitMQ Broker 建立连接,这个连接就是一条 TCP 连接,也就是 Connection. 一旦 TCP 连接建立起来,客户端紧接着可以创建一个 ...
- java程序文件读取与保存实例代码
class RadioHere extends JFrame implements ActionListener { private JTextArea ta=new JTextArea(10,20) ...
- 逻辑回归--美国挑战者号飞船事故_同盾分数与多头借贷Python建模实战
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...
- 转:UIView之userInteractionEnabled属性介绍
属性作用 该属性值为布尔类型,如属性本身的名称所释,该属性决定UIView是否接受并响应用户的交互. 当值设置为NO后,UIView会忽略那些原本应该发生在其自身的诸如touch和keyboard等用 ...
- python---基础知识回顾(九)图形用户界面-------WxPython
主要使用wxPython(最成熟的跨平台python GUI工具包) wxPython手册 前戏:基础了解 import wx class MyFrame(wx.Frame): #创建自定义Frame ...
- [转载]WebStorm快捷键操作
http://www.cnblogs.com/yangjinjin/archive/2013/01/30/2883172.html 1. ctrl + shift + n: 打开工程中的文件,目的是打 ...
- jQuery中下拉框select的操作方法详解
最近在写页面的时候常常遇到要动态增删改下拉框select的情况,由于我比较习惯用jquery框架来架构我的前端js,所以就顺便把各种jquery操作下拉框select的方法总结了一下,收藏起来以便下次 ...
- Exp2:后门原理与实践
Exp2:后门原理与实践 1 实践目标 任务一:使用netcat获取主机操作Shell,cron启动 (0.5分) 任务二:使用socat获取主机操作Shell, 任务计划启动 (0.5分) 任务三: ...