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 > ...
随机推荐
- Java之IO流(字节流,字符流)
IO流和Properties IO流 IO流是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键, 因而所有 I/O 的主体实际上是内置在操作系统中的.单独的 ...
- 解题:POI 2015 PUS
题面 还以为是差分约束,原来拓扑排序也能解决这样的问题=.= 类似差分约束的建图方式,我们把大小关系看做有向边.这样一来图上是不允许存在环的,于是我们可以做拓扑排序.然后问题来了,边数非常大,根本建不 ...
- 【agc001d】Arrays and Palindrome
Portal -->agc001D Description 给你一个\(m\)个数的排列\(A\),这个\(A\)中元素的顺序可以随便调换,\(A\)中的元素的和为\(n\),现在要你构造一个数 ...
- JAVA中的File.separate(跨平台路径)
转: JAVA中的File.separate(跨平台路径) 2016年03月27日 23:33:50 才不是本人 阅读数:1952 在Windows下的路径分隔符和Linux下的路径分隔符是不一样 ...
- freemark的常用方法
1,截取字符串 有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 < lt. <= lte. > gt. >= gte < ...
- mac 命令行大杂烩
一.实用的 1.代替 cat 的工具:bat,支持语法高亮.同时显示行号,使用: bat xx.yyy 安装:brew install bat 2.man 命令的替代品:tldr 安装:brew in ...
- HDU 3943 数位dp+二分
K-th Nya Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others) ...
- CODEVS 2171 棋盘覆盖
2171 棋盘覆盖 给出一张nn(n<=100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少12的多米诺骨牌进行掩盖. 错误日志: 直接在模板上调整 \(maxn\) 时没有在相应邻接表数 ...
- linux shell 获取当前日期/时间
1. 当前日期 [root@Tomcat DFJR-ERP]# cur_date="`date +%Y-%m-%d`" [root@Tomcat DFJR-ERP]# echo $ ...
- php中的几个常用的魔术常量
在php中我们可以自定义常量,同时php中也自定义了一些好用的常量,这些常量会根据其所在的位置而自动变化. 我们称之为魔术常量.魔术常量可以大写也可以小写,是不区分大小写的 __FIL ...