Web前端学习:JavaScript基础 【HTML DOM操作】

简介: Web前端学习:JavaScript基础 【HTML DOM操作】

一、认识DOM(Document)


当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。


JavaScript的操作本质上就是对dom进行操作


330291247c30474c954c2224252cf403.png


二、查找HTML元素



通常,通过JavaScript,需要操作HTML元素。


为了做到这件事情,必须首先找到该元素。有三种方法来做这件事:


   通过id找到HTML元素,例:document.getElementByld("isDIv");


   通过标签名找到HTML元素,例:document.getElementsByTagName("p");


   通过类名找到HTML元素 ,例:document.getElementsByClassName("intro");



1、查找HTML元素的方式


  • 以id查找HTML元素为例


   例:document.getElementByld("isDIv");


代码演示:


   先创建一个HTML文件,然后在head标签中写入script标签


   script标签内声明了一个变量Div1,用这个变量来接收id为idDiv的标签中的内容  


   console.log()是一个输出操作,在控制台中输出内容


2ab0e70168ae46058fb49068e6053531.png


   运行后,在网页检查(按下F12弹出)中控制台查看结果。结果我们发现“控制台”的输出为null值,这是什么原因呢?


   原因就是在页面渲染的时候是从上到下的操作,div标签 还没加载的时候就先加载了 script标签,由于在加载 script标签 时需要用到的div标签未加载,也就是找不到div标签,所以输出为null值。


cbcd467a3fed49d3841a0b39ed407c4e.png


  • 如何才能获取到div标签元素并输出呢?


  • 很简单,把script标签拿下来,放在div标签后


9ffe476b537e4aa6b5111c37af35a43e.png


运行后再次查看控制台,控制台中有输出

7c4e855788bd4d24a3a3d8b0d9fb9ff9.png


不过!!!我们一般都会将script标签写在head标签里,但是写在head标签里会出现加载问题,这个怎么解决呢?这个有一种方法可以解决,那就是:


  • window.onload方法


window.onload 就是先加载元素,等所有元素加载完成之后再去执行这个代码里面的内容


代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        window.onload = function () {
            var Div1 = document.getElementById("isDiv");
            console.log(Div1)
        }
    </script>
</head>
<body>
    <div id="isDiv">
        这是一个Div
    </div>
</body>
</html>


运行结果


9b92fb32f15a4f18b93f4e92c13df237.png


相关文章
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
743 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
11月前
|
开发框架 JavaScript 前端开发
精选HTML、JavaScript、ASP代码片段集锦
这些代码片段代表了HTML, JavaScript和ASP的基本应用,可被集成到更复杂的项目中。它们注重实用性,并且易于理解,旨在帮助开发者快速开始项目构建或进行学习。尽管ASP不如其他服务器端技术(如Node.js, PHP, Ruby等)现代,但它在遗留系统中仍非常普遍,了解基础仍具有价值。
364 14
|
JavaScript 前端开发 API
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
581 8
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
14891 23
|
移动开发 前端开发 安全
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
880 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
781 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
1229 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
662 33