详解JavaScript操作HTML DOM的基本方式


Posted in Javascript onOctober 21, 2015

通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。
HTML DOM (文档对象模型)
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。
HTML DOM 模型被构造为对象的树:
详解JavaScript操作HTML DOM的基本方式
通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。

  • JavaScript 能够改变页面中的所有 HTML 元素
  • JavaScript 能够改变页面中的所有 HTML 属性
  • JavaScript 能够改变页面中的所有 CSS 样式
  • JavaScript 能够对页面中的所有事件做出反应

查找 HTML 元素
通常,通过 JavaScript,您需要操作 HTML 元素。
为了做到这件事情,您必须首先找到该元素。有三种方法来做这件事:

  • 通过 id 找到 HTML 元素
  • 通过标签名找到 HTML 元素
  • 通过类名找到 HTML 元素
  • 通过 id 查找 HTML 元素

在 DOM 中查找 HTML 元素的最简单的方法,是通过使用元素的 id。
本例查找 id="intro" 元素:
实例

var x=document.getElementById("intro");

如果找到该元素,则该方法将以对象(在 x 中)的形式返回该元素。
如果未找到该元素,则 x 将包含 null。
通过标签名查找 HTML 元素
本例查找 id="main" 的元素,然后查找 id="main" 元素中的所有 <p> 元素:
实例

var x=document.getElementById("main");
var y=x.getElementsByTagName("p");

通过类名找到 HTML 元素
本例通过 getElementsByClassName 函数来查找 class="intro" 的元素:
实例

var x=document.getElementsByClassName("intro");

改变 HTML
HTML DOM 允许 JavaScript 改变 HTML 元素的内容。
改变 HTML 输出流
JavaScript 能够创建动态的 HTML 内容:
今天的日期是: Wed Oct 21 2015 14:43:25 GMT+0800 (中国标准时间)
在 JavaScript 中,document.write() 可用于直接向 HTML 输出流写内容。
实例

<!DOCTYPE html>
<html>
<body>

<script>
document.write(Date());
</script>

</body>
</html>

lamp 绝对不要在文档加载完成之后使用 document.write()。这会覆盖该文档。

改变 HTML 内容
修改 HTML 内容的最简单的方法时使用 innerHTML 属性。
如需改变 HTML 元素的内容,请使用这个语法:
document.getElementById(id).innerHTML=new HTML
本例改变了 <p>元素的内容:
实例

<html>
<body>

<p id="p1">Hello World!</p>

<script>
document.getElementById("p1").innerHTML="New text!";
</script>

</body>
</html>

本例改变了 <h1> 元素的内容:
实例

<!DOCTYPE html>
<html>
<body>

<h1 id="header">Old Header</h1>

<script>
var element=document.getElementById("header");
element.innerHTML="New Header";
</script>

</body>
</html>

实例讲解:

  • 上面的 HTML 文档含有 id="header" 的 <h1> 元素
  • 我们使用 HTML DOM 来获得 id="header" 的元素
  • JavaScript 更改此元素的内容 (innerHTML)

改变 HTML 属性
如需改变 HTML 元素的属性,请使用这个语法:

document.getElementById(id).attribute=new value

本例改变了 <img> 元素的 src 属性:
实例

<!DOCTYPE html>
<html>
<body>

<img id="image" src="smiley.gif">

<script>
document.getElementById("image").src="landscape.jpg";
</script>

</body>
</html>

实例讲解:

  • 上面的 HTML 文档含有 id="image" 的 <img> 元素
  • 我们使用 HTML DOM 来获得 id="image" 的元素
  • JavaScript 更改此元素的属性(把 "smiley.gif" 改为 "landscape.jpg")
Javascript 相关文章推荐
让人期待的2011年度最佳 jQuery 插件分享
Mar 16 Javascript
js获取select标签的值且兼容IE与firefox
Dec 30 Javascript
node.js中的fs.lchownSync方法使用说明
Dec 16 Javascript
浅谈jQuery事件绑定原理
Jan 02 Javascript
JS实现alert中显示换行的方法
Dec 17 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
Apr 08 Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
Feb 24 Javascript
vue实现移动端图片裁剪上传功能
Aug 18 Javascript
JavaScript 保护变量不被随意修改的实现代码
Sep 27 Javascript
vue iView 上传组件之手动上传功能
Mar 16 Javascript
js实现抽奖功能
Nov 24 Javascript
vue使用element-ui按需引入
May 20 Vue.js
JavaScript函数的调用以及参数传递
Oct 21 #Javascript
Java中Timer的用法详解
Oct 21 #Javascript
JS实现的竖向折叠菜单代码
Oct 21 #Javascript
JS基于Mootools实现的个性菜单效果代码
Oct 21 #Javascript
纯javascript实现自动发送邮件
Oct 21 #Javascript
JS实现Fisheye效果动感放大菜单代码
Oct 21 #Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
Oct 21 #Javascript
You might like
高分R级DC动画剧《哈莉·奎茵》第二季正式预告首发
2020/04/09 欧美动漫
PHP实现文件下载断点续传详解
2014/10/15 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
PHP 返回13位时间戳的实现代码
2016/05/13 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
Javascript解决常见浏览器兼容问题的12种方法
2010/01/04 Javascript
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
2012/01/04 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
微信小程序 保留小数(toFixed)详细介绍
2016/11/16 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
jQuery Datatables表头不对齐的解决办法
2017/11/27 jQuery
vue.js实现标签页切换效果
2018/06/07 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
python中循环语句while用法实例
2015/05/16 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
python自定义函数def的应用详解
2020/06/03 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
解释一下钝化(Swap out)
2016/12/26 面试题
技术学校毕业生求职信分享
2013/12/02 职场文书
党员个人整改方案及措施
2014/10/25 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
2014年共青团工作总结
2014/12/10 职场文书
家装电话营销开场白
2015/05/29 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android