认识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. 更改Oracle数据文件名及数据文件存放路径

    更改Oracle数据文件名及数据文件存放路径 SQL> select * from v$dbfile;        FILE# NAME ---------- ---------------- ...

  2. ftp上来显示的时间和系统时间不一致

    ftp上来显示的时间和系统时间不一致,是因为默认情况下,vsftpd 是用GMT做为他的时间的,所以和系统的时间可能会不一致 修改也非常简单: vi /etc/vsftpd/vsftpd.conf 在 ...

  3. Qt QtableView使用

    ui->setupUi(this); ui->mainToolBar->hide(); tableView = new QTableView(this); // 设置表头 QStan ...

  4. codeforces 645 D. Robot Rapping Results Report 二分+拓扑排序

    题目链接 我们可以发现, 这是一个很明显的二分+拓扑排序.... 如何判断根据当前的点, 是否能构造出来一个唯一的拓扑序列呢. 如果有的点没有出现, 那么一定不满足. 如果在加进队列的时候, 同时加了 ...

  5. C#文本文件或其他文件新内容追加

    以txt文本为例,以下代码实现a.txt文件中追加内容 FileStream mystream = new FileStream("C:\\a.txt", FileMode.Ope ...

  6. 关于 实时推送技术--WebSocket的 知识分享

    今天学习了关于WebSocket的知识,觉得挺有用的,在这记录一下,也和大家分享一下!!有兴趣的可以看看哦 WebSocket简介 Web领域的实时推送技术,也被称作Realtime技术.这种技术要达 ...

  7. [原]容器学习(二):动手模拟AOP

    简单来说,Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架.上文已经介绍模拟IoC实现,这篇文章来动手模拟AOP. AOP简述 面向对象强调"一切皆是对象" ...

  8. Mongodb 安装迁移

    <pre name="code" class="python">1.下载MongoDB(64位) http://fastdl.mongodb.org ...

  9. mongodb remove删除文档的用法

    在看<mongoDB权威指南>中,在删除文档时,出现问题: 书中介绍:采用db.foo.remove()命令则可以删除foo集合中所有的文档,但是在执行该命令时,shell客户端却报错. ...

  10. JEECMS用法总结

    1.循环打印栏目: [@cms_channel_list] [#list tag_list as c] <li id="${c.path}"><a href=&q ...