学习笔记-JS公开课三
DOM技术概述
DOM : DocumentObject Model
将HTML标记型文档,封装成对象,提供更多的属性和行为
DOM的三级模型
第一级:将标记型文档,封装成对象,提供更多的属性和行为
第二级:对原有的模型,进行了升级
第三级:XML文档封装成对象
DHTML:动态HTML dynamic 四个技术的组合体
HTML:将网页中的内容,封装到标签中
CSS:层叠样式表,提供更加丰富的页面显示效果
JavaScript:负责程序设计,JS对象,函数,循环,判断,变量
DOM:把标记封装成对象,提供更多的方法和属性
DOM树:学好DOM技术,必须要掌握节点对象,他们之间的关系
使用:
<scripttype="text/javascript">
function hide(){
//实现对div框的隐藏
//通过DOM技术,找到这个div节点对象
var divNode =document.getElementById("div_id");
//操作这个div,可以操作div的样式(CSS)
divNode.style.display="none";
}
function view(){
var divNode =document.getElementById("div_id");
divNode.style.display="";
}
</script>
<div id="div_id"style="background-color:#3F0";>这个网页是我做的</div>
<input type="button" value="隐藏" onclick="hide()"/><br />
<input type="button" value="显示" onclick="view()"/>
window对象中的常用方法
代表浏览器中一个打开的窗口。
window对象,随着浏览器的打开后,这个对象就建立起来了
window对象中的alert(消息)方法
调试程序,给用户进行信息的提示
var x = 10 ;
window.alert(x+20);
window对象中的confirm方法,这个方法返回一个布尔类型值,点击的是确定按钮,将反回true
Web开发中,提示用户对数据删除时候的确认
if(window.confirm("你真的要删除吗")){
document.write("用户选择是真的要删除");
window对象中的close()方法,关闭当前的页面
window对象中的open方法,打开一个网页
window.open("Sample.htm",null,
"height=200,width=400,status=yes,toolbar=no,menubar=no,location=no");
window对象中的打印方法print
window对象中的setInterval 每经过指定毫秒值后计算一个表达式。 定时器,定时的去执行每一个功能
window对象中的clearInterval 使用setInterval 方法取消先前开始的间隔事件。取消定时器效果
使用取消定时器方法的时候,需要传递一个ID值,这个值可以确定,取消的是哪一个定时器的效果
setInterval会返回一个整数的ID值,如果要取消这个定时器效果,可以将setInterval方法返回的ID值,传递给
clearInterval方法
例子:
varid ;
function setIntervalDemo(){
id =setInterval("alert('定时运行')",3000);
}
function clearIntervalDemo(){
clearInterval(id);
}
document对象获取节点对象
<scripttype="text/javascript">
/*
document对象代表给定浏览器窗口中的 HTML 文档。
使用document对象,获取HTML页面中的标签节点对象,对标签节点对象进行操作
document对象获取HTML页面中的标签节点对象的三个方法
getElementById("标签节点的id属性值")
getElementsByName("标签节点的name属性")
getElementsByTagName("标签名")
*/
function documentDemo(){
var tableNode =document.getElementById("tab_id");
//表格table对象的属性 nodeName
是标签名
// alert(tableNode.nodeName);
//对表格节点对象的style属性进行设置
tableNode.style.border = "5px solid #00FF00";
}
function documentDemo2(){
var txtNode = document.getElementsByName("txt"); //
数组
//alert(txtNode[0].nodeName);
alert(txtNode[0].value);
}
function documentDemo3(){
var tdNode =document.getElementsByTagName("td");
// alert(tdNode.length);
for(var x = 0 ; x < tdNode.length ; x++){
tdNode[x].style.background = "#FFFF0"+x;
}
}
</script>
<style type="text/css">
.onediv{
width:200px;
height:100px;
border:1px solid #F00;
margin-top:20px;
}
table,td{
border:1px solid #00F;
width:200px;
margin-top:20px;
text-align:center;}
</style>
</head>
<body>
<input type="button" value="document对象演示" onclick="documentDemo3()"/><br />
<div class="onediv">
这里是一个div区域
</div>
<input type="text" name="txt" />
<table id="tab_id" cellspacing="0">
<tr>
<td>java</td><td>php</td>
</tr>
<tr>
<td>.net</td><td>IOS</td>
</tr>
</table>
<span>这是一个span区域</span> <br />
<a href="#">这是一个超链接</a>
</body>
DIV节点的操作
<scripttype="text/javascript">
functioncreate()
{
/*
需求:给div添加一个文本节点
分析:
A:创建一个文本节点
B:将文件节点的值添加到指定的div区域中
*/
//如何创建文本节点呢?
//createTextNode
vartextNode = document.createTextNode("div区域1");
//获取指定的div
vardivNode = document.getElementById("div_1");
//div对象中有这样的一个方法:appendChild给对象追加一个子元素。
divNode.appendChild(textNode);
//我想给它添加一个超链接标签行不行呢?
//createElement为指定标签创建一个元素的实例。
varaNode = document.createElement("a");
//给a标签添加文本节点
//href 设置或获取目标 URL 或锚点
aNode.href= "http://www.baidu.com";
aNode.innerText= "百度";
//把a标签节点添加到div上
divNode.appendChild(aNode);
}
functiondeleteNode()
{
/*
需求:删除div_2的内容。
分析:
A:找到div_2节点
B:删除内容即可
*/
//找到div_2节点
//vardivNode = byId("div_2");
//childNodes返回div的所有儿子节点
//varnodes = divNode.childNodes;
//alert(nodes[0].nodeValue);
//获取文本节点
//vartextNode = divNode.childNodes[0];
//删除文本节点
//removeChild从元素上删除子结点。
//divNode.removeChild(textNode);
/*
需求:我要删除div_2这个节点。
分析:
A:先找到div_2的父节点
B:通过父节点删除div_2这个节点
*/
//vardivNode = byId("div_2");
//获取该节点的父节点
//parentNode 获取文档层次中的父对象
//alert(divNode.parentNode.nodeName);
//获取到了body节点
//varbodyNode = divNode.parentNode;
//采用删除方法即可
//bodyNode.removeChild(divNode);
//节点自己删除自己
vardivNode = byId("div_2");
//删除节点
//removeNode从文档层次中删除对象
//truechildNodes collection of the object is removed.
divNode.removeNode(true);//连同儿子都干掉 IE
//divNode.remove(true);//chrome
}
functionupdate()
{
/*
需求:用div_1把div_3给替换调用
分析:
A:获取div_1节点对象
B:获取div_3节点对象
C:用div_1节点替换div_3节点
*/
//获取div_1节点对象
vardiv1Node = byId("div_1");
//获取div_3节点对象
vardiv3Node = byId("div_3");
//替换节点
//object.replaceNode(oNewNode)
div3Node.replaceNode(div1Node);
}
functionclone()
{
/*
需求:用div_3替换div_4。但是还是要去div_3存在
分析:
A:获取div_3节点对象
B:获取div_4节点对象
C:把div_3的节点对象复制一份
D:用复制后的div_3节点替换div_4节点
*/
vardiv3Node = byId("div_3");
vardiv4Node = byId("div_4");
//复制节点呢
//cloneNode从文档层次中复制对对象的引用
vardiv3Node2 = div3Node.cloneNode(true);//表示连同子节点对象一起克隆
//替换
div4Node.replaceNode(div3Node2);
}
functionbyId(id)
{
returndocument.getElementById(id);
}
</script>
</head>
<body>
<divid="div_1">
</div>
<div id="div_2">
div区域2
</div>
<div id="div_3">
div区域3
</div>
<div id="div_4">
div区域4
</div>
<hr/>
<input type="button" value="创建并添加数据"onclick="create()" />
<input type="button" value="删除节点"onclick="deleteNode()" />
<input type="button" value="替换节点"onclick="update()" />
<input type="button" value="克隆节点"onclick="clone()" />
</body>
学习笔记-JS公开课三的更多相关文章
- 学习笔记-JS公开课一
JS公开课笔记 没特别说明就是和Java语言一样. JS变量:弱类型语言 1.在JS中,true表示1,false表示0.和Java不一样. 2. var y: 提示undefined: 3.如果al ...
- 学习笔记-JS公开课二
typeof运算符的使用 JS中内置对象Array/Date/Math/String可以看成引用类型 做如下测试: <scripttype="text/javascript" ...
- 前端学习:学习笔记(JS部分)
前端学习:学习笔记(JS部分) 前端学习:JS学习总结(图解) JS的简介 JS基本语法 JS内置对象 JS的函数 JS的事件 JS的BOM JS的DOM JS的简介 新建步骤 <body ...
- Java虚拟机内存溢出异常--《深入理解Java虚拟机》学习笔记及个人理解(三)
Java虚拟机内存溢出异常--<深入理解Java虚拟机>学习笔记及个人理解(三) 书上P39 1. 堆内存溢出 不断地创建对象, 而且保证创建的这些对象不会被回收即可(让GC Root可达 ...
- amazeui学习笔记--js插件(UI增强)--警告框Alert
amazeui学习笔记--js插件(UI增强)--警告框Alert 一.总结 1.警告框基本样式:用am-alert声明div容器, <div class="am-alert" ...
- amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown
amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown 一.总结 1.am-dropdown(及其孩子):控制下拉列表的样式 2.data-am-dropdown(及其孩子):控 ...
- amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse
amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse 一.总结 注意点: 1.data-am-collapse:这个东西就是展开折叠事件 2.am-collapse(包括其下属 ...
- amazeui学习笔记--js插件(UI增强2)--按钮交互Button
amazeui学习笔记--js插件(UI增强2)--按钮交互Button 一.总结 1.按钮loading状态: <button type="button" class=&q ...
- JavaScript学习笔记——JS中的变量复制、参数传递和作用域链
今天在看书的过程中,又发现了自己目前对Javascript存在的一个知识模糊点:JS的作用域链,所以就通过查资料看书对作用域链相关的内容进行了学习.今天学习笔记主要有这样几个关键字:变量.参数传递.执 ...
随机推荐
- IDEA 整合 SSM 框架学习
认识 Spring 框架 更多详情请点击这里:这里 Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control ...
- 数据结构 栈&队列
2-4 依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是( ) 删除,移动头指针: 增加,移动尾指针: 删除a,b ,队头c 2-3 在一个链队列中,fron ...
- 轻松理解AOP问题
先说一个Spring是什么吧,大家都是它是一个框架,但框架这个词对新手有点抽象,以致于越解释越模糊,不过它确实是个框架的,但那是从功能的角度来定义的,从本质意义上来讲,Spring是一个库,一个Jav ...
- WMI远程启动软件(某个应用程序)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.M ...
- 基于Windows服务器,从0开始搭建一个基于RTSP协议的直播平台
作案工具下载 EasyDarwin 服务端程序,用来接受推流和拉流 FFmpeg 可以用来推流视频数据到服务端,也可以从服务端拉流下来播放,也可以从一个服务端拉流下来,转推到另一个服务端去. Easy ...
- R语言do.call 函数用法详解
虽然R语言有类型很丰富的数据结构,但是很多时候数据结构比较复杂,那么基本就会用到list这种结构的数据类型.但是list对象很难以文本的形式导出,因此需要一个函数能快速将复杂的list结构扁平化成da ...
- Bootstrap3 代码-变量
通过 <var> 标签标记变量. y = mx + b <var>y</var> = <var>m</var><var>x< ...
- windows上安装nodejs,升级npm,安装webpack指南
安装nodejs https://nodejs.org/en/ 安装webpack和其他一些常用的 npm install -g node-gyp webpack coffee-script 监控 w ...
- 六星经典CSAPP-笔记(10)系统IO
六星经典CSAPP-笔记(10)系统I/O 1.Unix I/O 所有语言的运行时系统都提供了高抽象层次的I/O操作函数.例如,ANSI C在标准I/O库中提供了诸如printf和scanf等I/O缓 ...
- PHP学习(4)——数据类型
PHP 支持 8 种原始数据类型. 四种标量类型:(标量类型即为基本类型) boolean(布尔型) integer(整型) float(浮点型,也称作 double) (由于历史原因,float也叫 ...