认识DOM

文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)

把上面的代码进行分解就可以获得树状图:

HTML文档可以说由节点构成的集合,三种常见的DOM节点:

1. 元素节点:上图中<html>、<body>、<p>等都是元素节点,即标签。

2. 文本节点:向用户展示的内容,如<li>...</li>中的JavaScript、DOM、CSS等文本。

3. 属性节点:元素属性,如<a>标签的链接属性href="http://www.imooc.com"

观察局部细节:

  1. <a href="http://www.imooc.com">JavaScript DOM</a>


通过ID获取元素

学过HTML/CSS样式,都知道,网页由标签将信息组织起来,而标签的id属性值是唯一的,就像是每人有一个身份证号一样,只要通过身份证号就可以找到相对应的人。那么在网页中,我们通过id先找到标签,然后进行操作
语法:
  1. document.getElementById(“id”)

结果:null或[object HTMLParagraphElement]
注:获取的元素是一个对象,如想对元素进行操作,我们要通过它的属性或方法

innerHTML属性

innerHTML 属性用于获取或替换 HTML 元素的内容
语法:
  1. Object.innerHTML

注意:

1.Object是获取的元素对象,如通过document.getElementById("ID")获取的元素。

2.注意书写,innerHTML区分大小写

我们通过id="con"获取<p> 元素,并将元素的内容输出和改变元素内容


改变HTML样式

HTML DOM 允许 JavaScript 改变 HTML 元素的样式。如何改变 HTML 元素的样式呢?
语法:
  1. Object.style.property=new style;
注意:Object是获取的元素对象,如通过document.getElementById("id")获取的元素

基本属性表(property)
注意:该表只是一小部分CSS样式属性,其它样式也可以通过该方法设置和修改
举个栗子:
  1. <p id="pcon">Hello World!</p>
  2. <script>
  3. var mychar = document.getElementById("pcon");
  4. mychar.style.color="red";
  5. mychar.style.fontSize="20";
  6. mychar.style.backgroundColor ="blue";
  7. </script>

显示和隐藏(display属性)

网页中经常会看到显示和隐藏的效果,可通过display属性来设置
语法:
  1. Object.style.display = value
注意:Object是获取的元素对象,如通过document.getElementById("id")获取的元素

value取值

举个栗子:
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  5. <title>display</title>
  6. <script type="text/javascript">
  7. function hidetext()
  8. {
  9. var mychar = document.getElementById("con");
  10. mychar.style.display = "none";
  11. }
  12. function showtext()
  13. {
  14. var mychar = document.getElementById("con");
  15. mychar.style.display = "block";
  16. }
  17. </script>
  18. </head>
  19. <body>
  20. <h1>JavaScript</h1>
  21. <p id="con">做为一个Web开发师来说,如果你想提供漂亮的网页、令用户满意的上网体验,JavaScript是必不可少的工具。</p>
  22. <form>
  23. <input type="button" onclick="hidetext()" value="隐藏内容" />
  24. <input type="button" onclick="showtext()" value="显示内容" />
  25. </form>
  26. </body>
  27. </html>

控制类名(className属性)

className 属性设置或返回元素的class 属性
语法:
  1. object.className = classname

作用:

1.获取元素的class 属性

2. 为网页内的某个元素指定一个css样式来更改该元素的外观

举个栗子:
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  5. <title>className属性</title>
  6. <style>
  7. body{ font-size:16px;}
  8. .one{
  9. border:1px solid #eee;
  10. width:230px;
  11. height:50px;
  12. background:#ccc;
  13. color:red;
  14. }
  15. .two{
  16. border:1px solid #ccc;
  17. width:230px;
  18. height:50px;
  19. background:#9CF;
  20. color:blue;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <p id="p1" > JavaScript使网页显示动态效果并实现与用户交互功能。</p>
  26. <input type="button" value="添加样式" onclick="add()"/>
  27. <p id="p2" class="one">JavaScript使网页显示动态效果并实现与用户交互功能。</p>
  28. <input type="button" value="更改外观" onclick="modify()"/>
  29. <script type="text/javascript">
  30. function add(){
  31. var p1 = document.getElementById("p1");
  32. p1.className="one";
  33. }
  34. function modify(){
  35. var p2 = document.getElementById("p2");
  36. p2.className="two";
  37. }
  38. </script>
  39. </body>
  40. </html>






























JS笔记 入门第三的更多相关文章

  1. JS笔记 入门第四

    小测试: 注意:取消所有的设定可以直接使用 document.getElementById("txt").removeAttribute("style"); 这 ...

  2. jQuery入门第三

    jQuery入门第三 1.HTML 2.CSS 衣服 3.javascript 可以动的人 4.DOM 编程 对html文档的节点操作 5.jQuery 对 javascript的封装 简练的语法 复 ...

  3. JavaMail入门第三篇 发送邮件

    JavaMail API中定义了一个java.mail.Transport类,它专门用于执行邮件发送任务,这个类的实例对象封装了某种邮件发送协议的底层实施细节,应用程序调用这个类中的方法就可以把Mes ...

  4. java入门第三步之数据库连接

    数据库连接可以说是学习web最基础的部分,也是非常重要的一部分,今天我们就来介绍下数据库的连接为下面学习真正的web打下基础 java中连接数据库一般有两种方式: 1.ODBC——Open Datab ...

  5. Html/Css(新手入门第三篇)

    一.学习心得---参考优秀的网页来学习. 1我们只做的静态网页主要用的技术?html+css 只要网上看到的,他的源代码公开的.[1].先去分析,他们页面是如何布局(结构化)[2].再试着去做一下,- ...

  6. java入门第三步之数据库连接【转】

    数据库连接可以说是学习web最基础的部分,也是非常重要的一部分,今天我们就来介绍下数据库的连接为下面学习真正的web打下基础 java中连接数据库一般有两种方式: 1.ODBC——Open Datab ...

  7. Android JNI入门第三篇——jni头文件分析

    一. 首先写了java文件: public class HeaderFile { private native void  doVoid(); native int doShort(); native ...

  8. Kotlin入门第三课:数据类型

    前文链接: Kotlin学习第一课:从对比Java开始 Kotlin入门第二课:集合操作 初次尝试用Kotlin实现Android项目 Kotlin的数据类型与Java类似,因此这篇文章主要看Kotl ...

  9. CTF---密码学入门第三题 奇怪的短信

    奇怪的短信分值:10 来源: Ayn 难度:易 参与人数:5117人 Get Flag:2623人 答题人数:2858人 解题通过率:92% 收到一条奇怪的短信: 335321414374744361 ...

随机推荐

  1. SQL Server执行计划那些事儿(3)——书签查找

    接下来的文章是记录自己曾经的盲点,同时也透漏了自己的发展历程(可能发展也算不上,只能说是瞎混).当然,一些盲点也在工作和探究过程中慢慢有些眉目,现在也愿意发扬博客园的奉献精神,拿出来和大家分享一下. ...

  2. 让Linux修改IP、DNS等可以更简单

    修改IP: 可以用 netconfig,可惜每次都得输入完整的IP.掩码.网关和DNS. 不如直接 vi /etc/sysconfig/network-scripts/ifcfg-eth0 再 /et ...

  3. SVN报错:can't open file db/txn-current-lock:permission denied 解决方法

    其实这个问题是这样的.下面我举个例子:比如版本库SVN是root用户创建的但是启动服务的时候没有选择root启动,而是在其他用户转托管太下启动的,所以只能读不能写. 解决方法:停止svn服务:kill ...

  4. Javaweb整合mongo和kettle6.0的环境配置

    为了编译能通过,maven需要加入仓库地址以及一些必须要的包的依赖情况: pentaho中央仓库: 在properties里面配置版本号: <kettle.version>6.0.0.0- ...

  5. 再谈PHP、Python与Ruby

    一句话总结 简单地总结: 假如你想帮他尽快找个活儿,赚到钱,推荐PHP. 假如你想让他成为一个高效工程师,推荐 Python. 假如你想让他爱上他的工作,推荐 Ruby. 语言的选择 编程语言非常重要 ...

  6. navigator.geolocation例子

    navigator.geolocation例子 <html> <head> <script type="text/javascript"> fu ...

  7. Dialog 不能全屏,左右有间距解决方案

    dialog 默认的样式@android:style/Theme.Dialog 对应的style 有pading属性,所以win.getDecorView().setPadding(0, 0, 0,  ...

  8. IE6下不能定义1px高度的容器和IE6 双边距

        (1)触发的条件---定义一个div,将容器的高度设置成1px (2)  编码得到的结果---在IE6浏览器中,容器的高度不是1px   而是18px (3)出现问题的原因---是因为IE6浏 ...

  9. php命名空间使用

    对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...

  10. 转: HTML5新特性之Mutation Observer

    转: HTML5新特性之Mutation Observer Mutation Observer是什么 Mutation Observer(变动观察器)是监视DOM变动的接口.当DOM对象树发生任何变动 ...