JavaScript入门篇--你也有控制权(DOM操作)
来源:互联网 发布:etm软件会员 编辑:程序博客网 时间:2024/05/18 14:42
1.认识DOM
文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)。
先来看看下面代码:
将HTML代码分解为DOM节点层次图:
HTML文档可以说由节点构成的集合,三种常见的DOM节点:
1. 元素节点:上图中<html>、<body>、<p>
等都是元素节点,即标签。
2. 文本节点:向用户展示的内容,如<li>...</li>
中的JavaScript、DOM、CSS等文本。
3. 属性节点:元素属性,如<a>
标签的链接属性href=”http://www.imooc.com”。
看下面代码: <a href="http://www.imooc.com">JavaScript DOM</a>
2.通过ID获取元素
学过HTML/CSS样式,都知道,网页由标签将信息组织起来,而标签的id属性值是唯一的,就像是每人有一个身份证号一样,只要通过身份证号就可以找到相对应的人。那么在网页中,我们通过id先找到标签,然后进行操作。
语法:document.getElementById(“id”)
看看下面代码:
结果:null或[object HTMLParagraphElement]
注:获取的元素是一个对象,如想对元素进行操作,我们要通过它的属性或方法。
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>document.getElementById</title></head><body><div id="con">JavaScript</div><script type="text/javascript"> var mychar=document.getElementById("con"); document.write("结果:"+mychar); //输出获取的P标签。 </script></body></html>
举例来说为什么是null或[object HTMLParagraphElement],null是由于将这个代码放在前面时,它获取的是元素,这个id对应的元素还没有解析到,所以会是null,解析到了输出的话,是p标签元素,就是[object HTMLParagraphElement],换成div标签输出就是[object HTMLDivElement]
所以上面的结果就是
JavaScript
结果:[object HTMLDivElement]
3.innerHTML 属性
innerHTML 属性用于获取或替换 HTML 元素的内容。
语法:Object.innerHTML
注意:
1.Object是获取的元素对象,如通过document.getElementById(“ID”)获取的元素。
2.注意书写,innerHTML区分大小写。
我们通过id=”con”获取<p>
元素,并将元素的内容输出和改变元素内容,代码如下:
结果:
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>innerHTML</title></head><body><h2 id="con">javascript</H2><p> JavaScript是一种基于对象、事件驱动的简单脚本语言,嵌入在HTML文档中,由浏览器负责解释和执行,在网页上产生动态的显示效果并实现与用户交互功能。</p><script type="text/javascript"> var mychar=document.getElementById("con"); document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容 mychar.innerHTML="Hello World!" document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容</script></body></html>
输出结果:
Hello World!
JavaScript是一种基于对象、事件驱动的简单脚本语言,嵌入在HTML文档中,由浏览器负责解释和执行,在网页上产生动态的显示效果并实现与用户交互功能。
原标题:javascript
修改后的标题:Hello World!
4.改变 HTML 样式
HTML DOM 允许 JavaScript 改变 HTML 元素的样式。如何改变 HTML 元素的样式呢?
语法:
Object.style.property=new style;
注意:Object是获取的元素对象,如通过document.getElementById(“id”)获取的元素。
基本属性表(property):
注意:该表只是一小部分CSS样式属性,其它样式也可以通过该方法设置和修改。
看看下面的代码:
改变 <p>
元素的样式,将颜色改为红色,字号改为20,背景颜色改为蓝:
<p id="pcon">Hello World!</p><script> var mychar = document.getElementById("pcon"); mychar.style.color="red"; mychar.style.fontSize="20"; mychar.style.backgroundColor ="blue";</script>
结果:
5.显示和隐藏(display属性)
网页中经常会看到显示和隐藏的效果,可通过display属性来设置。
语法:
Object.style.display = value
注意:Object是获取的元素对象,如通过document.getElementById(“id”)获取的元素。
value取值:
看看下面代码:
6.控制类名(className 属性)
className 属性设置或返回元素的class 属性。
语法:
object.className = classname
作用:
1.获取元素的class 属性
2.为网页内的某个元素指定一个css样式来更改该元素的外观
看看下面代码,获得<p>
元素的 class 属性和改变className:
结果:
7.编程挑战
任务
一、定义”改变颜色”的函数
提示:
obj.style.color
obj.style.backgroundColor
二、定义”改变宽高”的函数
提示:
obj.style.width
obj.style.height
三、定义”隐藏内容”的函数
提示:
obj.style.display=”none”;
四、定义”显示内容”的函数
提示:
obj.style.display=”block”;
五、定义”取消设置”的函数
提示:
使用confirm()确定框,来确认是否取消设置。
如是将以上所有的设置恢复原始值,否则不做操作。
removeAttribute()删除属性。
六、当点击相应按钮,执行相应操作,为按钮添加相应事件
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" Content="text/html; charset=utf-8" /><title>javascript</title><style type="text/css">body{font-size:12px;}#txt{ height:400px; width:600px; border:#333 solid 1px; padding:5px;}p{ line-height:18px; text-indent:2em;}</style></head><body> <h2 id="con">JavaScript课程</H2> <div id="txt"> <h5>JavaScript为网页添加动态效果并实现与用户交互的功能。</h5> <p>1. JavaScript入门篇,让不懂JS的你,快速了解JS。</p> <p>2. JavaScript进阶篇,让你掌握JS的基础语法、函数、数组、事件、内置对象、BOM浏览器、DOM操作。</p> <p>3. 学完以上两门基础课后,在深入学习JavaScript的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p> </div> <form> <!--当点击相应按钮,执行相应操作,为按钮添加相应事件--> <input type="button" value="改变颜色" onclick="st1()" > <input type="button" value="改变宽高" onclick="st3()"> <input type="button" value="隐藏内容" onclick="st5()"> <input type="button" value="显示内容" onclick="st7()"> <input type="button" value="取消设置" onclick="st9()"> </form> <script type="text/javascript">//定义"改变颜色"的函数 function st1(){ var st2=document.getElementById("txt"); st2.style.color="red"; st2.style.backgroundColor="blue"; }//定义"改变宽高"的函数 function st3(){ var st4=document.getElementById("txt"); st4.style.width="300px"; st4.style.height="200px"; }//定义"隐藏内容"的函数 function st5(){ var st6=document.getElementById("txt"); st6.style.display="none"; }//定义"显示内容"的函数 function st7(){ var st8=document.getElementById("txt"); st8.style.display="block"; }//定义"取消设置"的函数 function st9(){ var st10=confirm("是否取消设置?"); if(st10==true){ txt.removeAttribute('style'); } } </script></body></html>
- JavaScript入门篇--你也有控制权(DOM操作)
- 【JavaScript笔记三】你也有控制权(DOM操作)
- JavaScript入门篇--DOM操作
- JavaScript入门(七) - DOM操作
- JavaScript入门学习5 DOM操作1
- JavaScript入门学习5 DOM操作2
- JavaScript DOM(二)--DOM操作
- [DOM]javascript DOM操作
- JavaScript-DOM操作(一)
- javaScript-DOM操作(二)
- javaScript-DOM操作(三)
- javaScript-DOM操作(四)
- javaScript-DOM操作(五)
- javaScript-DOM操作(六)
- JavaScript DOM 操作(一)
- Javascript的DOM操作 - 你真的了解吗?
- JavaScript从入门到放弃(4)--原生的DOM操作,以及Ajax网络请求
- js入门篇(第二篇)DOM操作
- Unity_DOTween动画的学习(二)_DOTween Sequence 使用图解
- iText解析pdf调研
- QLayout的使用小结
- Spring——控制反转、反射与依赖注入
- 关于静态变量的初始化时机
- JavaScript入门篇--你也有控制权(DOM操作)
- 如何将百度地图引入到HTML和VUE文件中?
- 【分治计数】BZOJ3745 [Coci2015]Norma
- 2017年9月16日提高组T2 B 三维导弹拦截
- 阿里云远程链接mysql等端口的配置问题
- python——进程线程、与协程基础概述
- 集合-fail-fast机制
- Python·Jupyter Notebook的各种快捷键
- 用FPGA实现H.264/AVC硬件编解码器的构想