JavaScript(第二部分)
一、DOM获取元素节点的子节点
1、getElementsByTagName()
返回当前节点的指定标签名子节点
2、childNodes
表示当前节点的所有子节点
3、firstChild
表示当前节点的第一个子节点
4、lastChild
表示当前节点的最后一个子节点
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="style/css.css" />
<script type="text/javascript">
function myQuery(idStr,func){
var btn=document.getElementById(idStr);
btn.onclick=func;
}
window.onload=function(){
var cityEle= document.getElementById("city");
//1.查找#bj节点
/* var btnEle=document.getElementById("btn01");
btnEle.onclick=function(){
var liEle=document.getElementById("bj");
alert(liEle.innerHTML);
} */ myQuery("btn01",function(){
var bjEle=document.getElementById("bj");
alert(bjEle.innerHTML);
}); //2.查找所有li节点
/* var btn=document.getElementById("btn02");
btn.onclick=function(){
var liEles=document.getElementsByTagName("li");
for(var i=0;i<liEles.length;i++){
alert(liEles[i].innerHTML);
}
}; */ myQuery("btn02",function(){
var liEles=document.getElementsByTagName("li");
for(var i=0;i<liEles.length;i++){
alert(liEles[i].innerHTML);
}
});
//3.查找name=gender的所有节点
/* var btn=document.getElementById("btn03");
btn.onclick=function(){
var liEles=document.getElementsByName("gender");
for(var i=0;i<liEles.length;i++){
alert(liEles[i].value);
}
}; */
myQuery("btn03",function(){
var liEles=document.getElementsByName("gender");
for(var i=0;i<liEles.length;i++){
alert(liEles[i].value);
}
}); //4.查找#city下所有li节点
myQuery("btn04",function(){
var liEles=cityEle.getElementsByTagName("li");
for(var i=0;i<liEles.length;i++){
alert(liEles[i].innerHTML);
}
}); //5.返回#city的所有子节点
myQuery("btn05",function(){ var Eles=cityEle.childNodes;
for(var i=0;i<Eles.length;i++){
if(Eles[i].nodeType == 1){
alert(Eles[i].innerHTML);
}
} }); //6.返回#phone的第一个子节点
myQuery("btn06",function(){
var phoneEle=document.getElementById("phone");
var Eles1=phoneEle.firstChild;
alert(Eles1.innerHTML);
}); //7.返回#bj的父节点
myQuery("btn07",function(){
var bEle=document.getElementById("bj")
var Eles2=bEle.parentNode;
alert(Eles2.innerHTML); }); //8.返回#android的前一个兄弟节点
myQuery("btn08",function(){
var bEl=document.getElementById("android");
var Eles3=bEl.previousSibling;
alert(Eles3.innerHTML);
}); //9.读取#username的value属性值
myQuery("btn09",function(){
var bEl=document.getElementById("username");
alert(bEl.value);
}); //10.设置#username的value属性值
myQuery("btn10",function(){
var bEl=document.getElementById("username");
bEl.value="3lse";
});
//11.返回#bj的文本值
//第一种方法
myQuery("btn11",function(){
var bEl=document.getElementById("bj");
alert(bEl.innnerHTML);
});
//第二种方法
myQuery("btn11",function(){
var bEl=document.getElementById("bj");
bEl.firstChild;
alert(bEl.nodeValue);
}); }
</script>
</head>
<body>
<div id="total">
<div class="inner">
<p>
你喜欢哪个城市?
</p> <ul id="city">
<li id="bj">北京</li>
<li>上海</li>
<li>东京</li>
<li>首尔</li>
</ul> <br>
<br> <p>
你喜欢哪款单机游戏?
</p> <ul id="game">
<li id="rl">红警</li>
<li>实况</li>
<li>极品飞车</li>
<li>魔兽</li>
</ul> <br />
<br /> <p>
你手机的操作系统是?
</p> <ul id="phone"><li>IOS</li><li id="android">Android</li><li>Windows Phone</li></ul>
</div> <div class="inner">
gender:
<input type="radio" name="gender" value="male"/>
Male
<input type="radio" name="gender" value="female"/>
Female
<br>
<br>
name:
<input type="text" name="name" id="username" value="abcde"/>
</div>
</div>
<div id="btnList">
<div><button id="btn01">查找#bj节点</button></div>
<div><button id="btn02">查找所有li节点</button></div>
<div><button id="btn03">查找name=gender的所有节点</button></div>
<div><button id="btn04">查找#city下所有li节点</button></div>
<div><button id="btn05">返回#city的所有子节点</button></div>
<div><button id="btn06">返回#phone的第一个子节点</button></div>
<div><button id="btn07">返回#bj的父节点</button></div>
<div><button id="btn08">返回#android的前一个兄弟节点</button></div>
<div><button id="btn09">返回#username的value属性值</button></div>
<div><button id="btn10">设置#username的value属性值</button></div>
<div><button id="btn11">返回#bj的文本值</button></div>
</div>
</body>
二、获取父节点和兄弟节点
1、parentNode
表示当前节点的父节点
2、previousSibling
表示当前节点的前一个兄弟节点
3、nextSibling
表示当前节点的后一个兄弟节点
三、元素节点的属性

其他属性
.this表示当前函数所属的对象
checkedAllBox.onclick=function(){
for(var i=0;i<items.length;i++){
//this表示当前函数所属的对象,即this=checkedAllBox
items[i].checked =this.checked;
}
};
nodeValue文本节点
通过nodeValue的属性获取和设置文本节点的内容
innerHTML元素节点
通过该属性获取和设置标签内部的html代码
三、增、删、改
1、 创建元素节点
document.createElement(标签名)
2、 创建文本节点
document.createTextNode(文本值)
3、 添加子节点
父节点.appendChild(子节点)
4、 插入节点
父节点.insertBefore(新节点,旧节点)
5、替换节点
父节点.replaceChild(新节点,旧节点)
6、 删除节点
父节点.removeChild(子节点)
子节点.parentNode.removeChild(子节点)
7、 读写元素内部HTML代码
读取元素.innerHTML
设置元素.innerHTML = 新值
JavaScript(第二部分)的更多相关文章
- JavaScript 数据访问(通译自High Performance Javascript 第二章) [转]
JavaScript 数据访问(通译自High Performance Javascript 第二章) JavaScript 数据访问(翻译自High Performance Javascript ...
- 2014年辛星完全解读Javascript第二节
本小节我们讲解一下Javascript的语法,虽然js语言非常简单,它的语法也相对好学一些,但是不学总之还是不会的,因此,我们来一探究竟把. ********注释************* 1.我们通 ...
- javascript第二遍基础学习笔记(二)
一.操作符 1.一元操作符: 自加自减(分前置和后置2种):++.-- 区别:前置的先自加或自减,后进行计算:而后置的是先进行计算,后自加或自减(在其会产生负面影响时才能体现区别): ; i++; / ...
- JavaScript(第二十八天)【Cookie与存储】
随着Web越来越复杂,开发者急切的需要能够本地化存储的脚本功能.这个时候,第一个出现的方案:cookie诞生了.cookie的意图是:在本地的客户端的磁盘上以很小的文件形式保存数据. 一.Cook ...
- JavaScript(第二十六天)【表单处理】
为了分担服务器处理表单的压力,JavaScript提供了一些解决方案,从而大大打破了处处依赖服务器的局面. 一.表单介绍 在HTML中,表单是由<form>元素来表示的,而在JavaS ...
- JavaScript(第二天)【语法,变量】
一.语法构成 区分大小写 ECMAScript中的一切,包括变量.函数名和操作符都是区分大小写的.例如:text和Text表示两种不同的变量. 标识符 所谓标识符,就是指变量.函数.属性的名字,或 ...
- JavaScript第二课
1.关于鼠标事件有: onmouseover(),onmouseout(),onmousedown(),onmouseup(),onclick()事件. 2.创建JavaScript对象: 方法1:通 ...
- javaWeb核心技术第四篇之Javascript第二篇事件和正则表达式
- 事件 - 表单提交(掌握) "onsubmit" - 单击事件(掌握) "onclick" - 页面加载成功事件(掌握) "onload" ...
- javaScript第二篇
事件处理函数 javaScript响应用户操作等都是通过事件处理来触发;其基本形式为 event = "javaScript statement(s);" 事件 = "事 ...
随机推荐
- Maven公共仓库/镜像站收集及使用技巧
查询: 1.http://search.maven.org/ 2.https://mvnrepository.com/ 3.https://maven-repository.com/ 4.(阿里云镜像 ...
- html自动换行
对于div,p等块级元素 正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义的宽度之后自动换行html css 1.(IE浏览器)连续的英文字符和阿拉伯数 ...
- imx6q GPIO功能的用法
假如我们要使用扩展口的第11脚EIM_D18. 先在arch/arm/plat-mxc/include/mach/iomux-mx6q.h中找有EIM_18. 能够找到MX6Q_PAD_EIM_D18 ...
- Codeforces Beta Round #2 B. The least round way
这个2B题还好~~ 题目大意: 给出一个矩阵.从左上走到右下,仅仅能往右或下走.路径中每一个格子有一个数.这些数相乘得出一个数. 求这个数末尾零最少的一条路径. 解题思路: 找出一条路径.乘积得数中素 ...
- 关注PHPthinking官网微信公众号——红包来袭
欢迎大家扫描关注PHPthinking官方微信订阅号,我们将给您定期发送质量博文.新闻趣事.站点公告等等,同一时候还有PHPthinking准备的每日微信红包(金额不等,已发出百元红包)等着你! 官网 ...
- [计算机故障]笔记本无法启动,开机启动出现“Operating System Not Found”无法进系统
背景介绍:同事的一台索尼的笔记本,安装XP.开机启动出现“Operating System Not Found”无法进系统 诊断: 初步判断硬盘故障.但听声音,没有异响. 开机按F2进入BIOS设置. ...
- Message: unknown error: Element is not clickable at point
Message: unknown error: Element is not clickable at point google chrome - Debugging "Element is ...
- 两个ajax写在一起报错
这样做完导致的结果是:在谷歌浏览器页面正常显示,在火狐浏览器会不定期出现系统异常错误提示!最后分析原因是: 从异步请求的执行原理来看,我们知道当一个异步请求发送时,浏览器不会处于锁死.等待的状态,从一 ...
- DTV_SI 汇总 & 兼谈LCN
前言 本章主要对数字广播DVB做一个系统的概况的描述,以及一些spc的相关的内容,虽然流程分析的不多,但是做为后续 章节资料的源泉,也是不可或缺的. 一. ATSC和DVB数字电视系统的比较 本文的主 ...
- 一个单例(Singleton),并说明单例的目的和好处
单例的目的:保证一个类只有单一的实例,也就是说你无法通过new来创建这个类的一个新实例. 单例的好处:当一个对象在程序内部只能有一个实例的时候,它可以保证我们不会重复创建,而是始终指向同一个对象. S ...