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);" 事件 = "事 ...
随机推荐
- Redis基于Java的客户端SDK收集
如果要找这类的SDK,第一反应应该直奔官网,找一下看下有什么推荐.先找最权威的回答,找不到再尝试民间方案. 就Redis来说,官方已经提供了一个列表包括市面上绝大多数语言的SDK,可以参考以下网址看J ...
- 将github上的项目源码导入eclipse详细教程
将github上的项目源码导入eclipse详细教程 学习了: http://blog.csdn.net/itbiggod/article/details/78462720
- android 到底是什么决定了app的名称 application label activity label
原文地址:http://blog.csdn.net/lamp_zy/article/details/7878979 原来博主的博客的名字仅仅是application label表示菜比的我没有搜到,然 ...
- webpack—入门
点击进入webpack官网.,开始教程时,建议先学习ES6语法,也请先观看本篇Windows符号介绍文章,当所有webpack内容学习完后,会有一个专门的介绍 webpack四个核心概念(从官网入门— ...
- js 获取文件本地路径
1.代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- android studio 0.8.1使用和遇到问题解决
谷歌6月底公布了五大系统,而且android studio同步升级到了android studio 0.8.1.升级了的android studio确实有一些新的变化.执行速度变快,而且还能够选择开发 ...
- [Python] How to unpack and pack collection in Python?
It is a pity that i can not add the video here. As a result, i offer the link as below: How to unpa ...
- Python学习笔记17:标准库之数学相关(math包,random包)
前面几节看得真心累.如今先来点简单easy理解的内容. 一 math包 math包主要处理数学相关的运算. 常数 math.e # 自然常数e math.pi # 圆周率pi 运算函数 math ...
- c#基于事件模型的UDP通讯框架(适用于网络包编解码)
之前写过一篇关于c#udp分包发送的文章 这篇文章里面介绍的方法是一种实现,可是存在一个缺点就是一个对象序列化后会增大非常多.不利于在网络中的传输. 我们在网络中的传输是须要尽可能的减小传送的数据包的 ...
- windows console Kill PID 端口查看
开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选&qu ...