JavaScript文档对象模型DOM


Posted in Javascript onNovember 20, 2021

前言:

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML

一、JavaScript 能够改变页面中的所有 HTML 元素

1、通过 id 找到 HTML 元素

找见HTML某个特定的标签,并做修改

<body>
    <div calss="001">我是谁</div>
    <script>
        var x = document.getElementById("001");
        x.innerHTML = "我是勇敢牛牛,不怕困难";
    </script>
</body>
<body>

 <p id="intro">你好牛牛!</p>
 <p>该实例展示了 <b>getElementById</b> 方法!</p>
 <script>
  x=document.getElementById("intro");
  document.write("<p>文本来自 id 为 intro 段落: " +  x.innerHTML + "</p>");
 </script>

</body>

2、通过标签名查找 HTML 元素

var x=document.getElementById("main");
var y=x.getElementsByTagName("p");
document.write('id="main"元素中的第一个段落为:' + y[0].innerHTML);

查找 id=“main” 的元素,然后查找 id=“main” 元素中的第一个 <p> 元素:

//第一种写法
var x = document.getElementById("main");
var y = x.getElementsByTagName("p")[0];
//找出HTML中所有的p标签,并且把第一个标签内容换掉
var y = document.getElementsByTagName("p");
y[0].innerHTML = "勇敢牛牛,不怕困难"
<script>
 var x=document.getElementById("main");
 var y=x.getElementsByTagName("p");
 document.write('id="main"元素中的第一个段落为:' + y[0].innerHTML);
</script>

3、通过类名找到 HTML 元素

<body>
    <p class="intro">你好牛牛!</p>
    <p>该实例展示了 <b>getElementsByClassName</b> 方法!</p>
    <script>
        x = document.getElementsByClassName("intro");
        document.write("<p>文本来自 class 为 intro 段落: " + x[0].innerHTML + "</p>");
    </script>
</body>

修改此类标签的元素内容:

<body>
    <p class="intro">你好牛牛!</p>
    <p>该实例展示了 <b>getElementsByClassName</b> 方法!</p>
    <script>
        x = document.getElementsByClassName("intro")[0];
        x.innerHTML = "修改标签内容";
        // document.write("<p>文本来自 class 为 intro 段落: " + x[0].innerHTML + "</p>");
    </script>
</body>

4、JavaScript 能够改变页面中的所有 HTML 属性

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

document.getElementById(id).attribute=新属性值

<img id="image" src="smiley.gif" width="160" height="120">
<script>
 document.getElementById("image").src="landscape.jpg";
</script>
<p>原图片为 smiley.gif,脚本将图片修改为 landscape.jpg</p>

5、JavaScript 能够改变页面中的所有 CSS 样式

JavaScript HTML DOM - 改变CSS

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

document.getElementById(id).style.property=新样式

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>title</title>
</head>
<body>
 <p id="p1">Hello World!</p>
 <p id="p2">Hello World!</p>
 <script>
  document.getElementById("p2").style.color="blue";
  document.getElementById("p2").style.fontFamily="Arial";
  document.getElementById("p2").style.fontSize="larger";
 </script>
 <p>以上段落通过脚本修改。</p>
</body>
</html>

6、JavaScript 能够对页面中的所有事件做出反应

HTML DOM 来分配事件:

意思就是:当我干某件事的时候,触发一个怎样的功能

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>

 <p>点击按钮执行 <em>displayDate()</em> 函数。</p>
 
 <button id="myBtn">点我</button>
 
 <script>
  document.getElementById("myBtn").onclick=function(){
   displayDate()};
  function displayDate()
  {
   
      document.getElementById("demo").innerHTML=Date();
  }
 </script>
 
 <p id="demo"></p>

</body>
</html>

如下:

JavaScript文档对象模型DOM

onmouseover 和 onmouseout 事件可用于在鼠标指针移动到或离开元素时触发函数。

<!DOCTYPE html>
<html><head>
<meta charset="utf-8">
</head>
<body>

 <div onmouseover="mOver(this)" onmouseout="mOut(this)" style="background-color:#D94A38;width:120px;height:20px;padding:40px;">Mouse Over Me</div>
 
 <script>
  function mOver(obj)
  {
   
   obj.innerHTML="Thank You"
  }
  
  function mOut(obj)
  {
   
   obj.innerHTML="Mouse Over Me"
  }
 </script>

</body>
</html>

JavaScript文档对象模型DOM

到此这篇关于JavaScript文档对象模型DOM的文章就介绍到这了,更多相关JavaScript文档对象模型内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
几个比较实用的JavaScript 测试及效验工具
Apr 18 Javascript
JavaScript中关于indexOf的使用方法与问题小结
Aug 05 Javascript
基于jquery实现点击左右按钮图片横向滚动
Apr 11 Javascript
解析javascript系统错误:-1072896658的解决办法
Jul 08 Javascript
js中cookie的添加、取值、删除示例代码
Oct 21 Javascript
jquery控制显示服务器生成的图片流
Aug 04 Javascript
JavaScript SHA512加密算法详细代码
Oct 06 Javascript
bootstrap配合Masonry插件实现瀑布式布局
Jan 18 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
Jul 27 Javascript
基于vue的短信验证码倒计时demo
Sep 13 Javascript
vue自定义指令directive实例详解
Jan 17 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
Feb 01 Javascript
四十九个javascript小知识实用技巧
Nov 20 #Javascript
js不常见操作运算符总结
Nov 20 #Javascript
javascript的setTimeout()使用方法总结
Nov 20 #Javascript
JavaScript异步操作中串行和并行
Nov 20 #Javascript
vue中 this.$set的使用详解
如何用vue实现网页截图你知道吗
利用 JavaScript 构建命令行应用
Nov 17 #Javascript
You might like
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
2016/02/26 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
在chrome浏览器中,防止input[text]和textarea在聚焦时出现黄色边框的解决方法
2011/05/24 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
基于Javascript实现倒计时功能
2016/02/22 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
js常用DOM方法详解
2017/02/04 Javascript
Bootstrap输入框组件使用详解
2017/06/09 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
详解Immutable及 React 中实践
2018/03/01 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
基于Three.js实现360度全景图片
2018/12/30 Javascript
[08:07]DOTA2每周TOP10 精彩击杀集锦vol.8
2014/06/25 DOTA
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
Linux下为不同版本python安装第三方库
2016/08/31 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
联想墨西哥官方网站:Lenovo墨西哥
2016/08/17 全球购物
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL
html粘性页脚的具体使用
2022/01/18 HTML / CSS
vue动态绑定style样式
2022/04/20 Vue.js