JS之BOM操作 window.onload何时使用 document.getElementsByTagName() document.getElementById

news/2024/7/19 16:29:47 标签: js

JS-BOM
BOM 就是浏览器的对象模型,浏览器可以通过调用系统对话框,
向用户显示信息。
系统提供了三个函数,可以完成系统对话框的操作
分别是:
window.alert();
window.confirm();
window.prompt();
代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			window.alert("hello");
			var res = window.confirm("请选择 yes or no");
			window.alert(res);
			window.prompt("please","aaa");
		</script>
	</head>
	<body>
	</body>
</html>

JS-DOM
DOM是文档对象模型:开始到结束
HTML+CS->页面内容
JS->页面行为操作
注:DOM是打通HTML与CS和JS壁垒的工具

window.onload()

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			var res = document.getElementById("div1");
			alert(res);
		</script>
	</head>
	<body>
		<div id="div1">
			hello world
		</div>
	</body>
</html>

这样做时无法通过ID获取到div1的,获得的是null,因为代码是由上向下执行的,执行到这个位置无法获得div1,通过window.onload 可以在执行完body后再获取;
代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			window.onload = function(){
				var res = document.getElementById("div1");
				alert(res);
			}
		</script>
	</head>
	<body>
		<div id="div1">
			hello world
		</div>
	</body>
</html>

getElementById 这是通过ID方式获取元素,也可以通过其他ul li无序列表获取
快速生成ul li 无序列表方式:
ul>li*4 + tab可以生成4个

		<ul>
			<li></li>
			<li></li>
			<li></li>
			<li></li>
		</ul>

同理ol>li*4 + tab也可以生成有序列表如下:

<ol>
			<li></li>
			<li></li>
			<li></li>
			<li></li>
		</ol>

也可以通过document.getElementsByTagName()可以通过目标名字获取多个元素
代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Document</title>
		<script type="text/javascript">
			window.onload = function(){
				var Lis = document.getElementsByTagName("li");
				alert(Lis.length);
				var ul1 = document.getElementById("ul1");
				// 可以通过定义的ID获取到ul
				var uLis = ul1.getElementsByTagName("li");
				alert(uLis.length);
				for(var i=0;i<uLis.length;i++){
					alert(uLis[i].innerHTML);
					// 弹出取到的内容
				}
			}
		</script>
	</head>
	<body>
		<ul id="ul1">
			<li>1111</li>
			<li>2222</li>
			<li>3333</li>
			<li>4444</li>
		</ul>
		<ol>
			<li>5555</li>
			<li>6666</li>
			<li>7777</li>
			<li>8888</li>
		</ol>
		
	</body>
</html>


http://www.niftyadmin.cn/n/1684754.html

相关文章

HTML基础之标签

部分参考了菜鸟教程中的内容&#xff1a; https://www.runoob.com/html/html-basic.html HTML主要分为两部分&#xff0c;一个是头部 head&#xff0c;一个是主体body 标签主要是用于body中的。 基础标签分为四类&#xff1a; 标题标签 h1-h6段落标签 p链接标签 a图片标签 img…

『Jenkins』快速安装Jenkins及配置代码仓库

&#x1f4e3;读完这篇文章里你能收获到 Jenkins下载安装在Jenkins中配置Git仓库 文章目录一、概念篇二、Jenkins下载安装1 下载2 安装三、Git安装配置1 Git下载2 Jenkins配置Git环境一、概念篇 Jenkins简介&#xff1a;这是一个用于建立持续集成和持续交付&#xff08;CI/CD…

前端用到的HTML CSS JS JQ VUE概念整理

初学前端&#xff0c;在理解HTML CSS和JS时要知道这样一个内容&#xff1a; HTML CSS JS是三门必学的前端语言 HTML定义了网页的内容CSS描述了网页的布局 格式JS&#xff08;JavaScript&#xff09;定义了网页的行为 jQuery是一个JavaScript库&#xff0c;极大地简化了javaSc…

『全网首发,ES申请永久License』ElasticSearch7申请永久License

&#x1f4e3;读完这篇文章里你能收获到 ES官方申请永久License的流程感谢点赞收藏&#xff0c;避免下次找不到~ 文章目录一、申请流程1 注册官方账号2 导入许可证二、查看许可证有效期ELK下载安装后有一个月试用期&#xff0c;到期后需要更新License 一、申请流程 1 注册官方…

vue安装与使用

参考VUE官网&#xff1a;https://cn.vuejs.org/v2/guide/ 在官网需要选择查看指导的版本&#xff0c;通常查看版本2即可 安装时可以查看教程&#xff0c; 在HTML文件中加入指定的语句&#xff0c;在每一次需要引入vue时都需要填下&#xff0c;相当于import&#xff0c; 不过这样…

『Consul』.NET Core快速接入Consul实现统一配置中心

&#x1f4e3;读完这篇文章里你能收获到 .NET Core快速接入Consul代码Demo了解配置中心的概念 文章目录一、概念篇1 什么是配置中心&#xff1f;2 为什么要使用配置中心&#xff1f;3 配置中心选择对比3.1 Apollo3.2 Consul3.3 Nacos二、.Net项目接入1 Nuget包引用2 配置文件中…

flask学习之 pipenv 虚拟环境配置 在配置中出现错误“cmd“不是内部或外部命令,也不是可运行的程序或批处理文件””的解决方案

虚拟环境 背景&#xff1a; 到目前为止&#xff0c;我们所有的第三方包安装都是直接通过pip install xx的方式进行安装的&#xff0c;这样安装会将那个包安装到你的系统级的Python环境中。但是这样有一个问题&#xff0c;就是如果你现在用Django 1.10.x写了个网站&#xff0c;…

『Nginx』Nginx部署Https 443转发

&#x1f4e3;读完这篇文章里你能收获到 Nginx部署Https 443转发SSL证书申请及配置 文章目录一、申请SSL证书1 到阿里云或者腾讯云申请SSL证书&#xff08;免费的&#xff09;二、Nginx配置1 配置Nginx文件2 注意点一、申请SSL证书 1 到阿里云或者腾讯云申请SSL证书&#xff…