IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> DOM编程之获取元素 -> 正文阅读

[JavaScript知识库]DOM编程之获取元素

回顾上一节内容:

①.函数的使用:

系统的函数:

parseInt(); parseFloat(); evel(); isNaN('123a');

自定义函数:

可以利用function 对象创建函数:

var mysum = new Function('num1=1','num2=2','return num1+num2');

②.BOM编程

window--顶层对象

alert();网页弹窗,类似于syso的打印

console.log('无参数函数');控制台

prompt();输入框

confirm();确认框

open("index.html");打开网页

open("Index.html",'now','height=xx,width='');

close();

//创建的定时器(两个)
循环性
setInterval(function(){},1000);
一次性
setTimeout(function(){},1000);

//清除的定时器
clearInterval();
clearTimeout();

//设置或者获取URL地址(location)
location.href ='www.baidu.com';
console.log(location.href);
location.reload();//刷新

模拟历史记录(history)
forward();下一页
back();返回
go();参数为正数 下一页( 1) 1代表上一夜, 2代表上两页
     参数为负数 下一页(-1)-1代表下一页,-1代表下两页

数组
var a = [];

Date:
getFullYear();//获得不用加1900的时间值

Math---Random();//随机数

JS重载的方法:

// 任意一个函数中都会存在一个arguments参数,可以存储函数的参数个数

	function add(){
		if(arguments.length == 0){
			console.log("无参数函数");
		}else if(arguments.length == 1){
			console.log("1个参数函数");
		}else if(arguments.length == 2){
			console.log("2个参数函数");
		}
	}

	add();

	add(1);

	add(1,2);

本节内容:

节点是什么:

<!-- 元素:? 标签 -->
<!-- 节点:? 标签,属性,文本 -->

<a href="">内容</a>

DOM编程之元素获取:

根据ID属性获取标签对象 :document.getElementById();

<input type="text" id="oInput">
<button id="oBtn1">点击获取value值</button>
<script type="text/javascript">
	//根据ID属性获取标签对象(元素)
	var oBtn1 = document.getElementById('oBtn1');
	console.log(oBtn1);
	//调用点击事件的属性
	oBtn1.onclick = function(){
		//根据ID属性获取输入项标签对象
		var oInput = document.getElementById('oInput');
		alert(oInput.value);
	};

根据标签名获取一组标签合集:document.getElementsByTagName();

[0]获取伪数组第一个的值

<ul>
	<li>item1</li>
	<li>item2</li>
	<li>item3</li>
	<li>item4</li>
	<li>item5</li>
</ul>
<ol>
	<li>item01</li>
	<li>item02</li>
	<li>item03</li>
	<li>item04</li>
	<li>item05</li>
</ol>
<script type="text/javascript">
	//根据标签名一次性获取一组同类型的标签对象
	var oLis = document.getElementsByTagName('li');
	console.log(oLis);
	//打印所有li中的文本内容
	for(var i = 0;i<oLis.length;i++){
		console.log(oLis[i].innerHTML);
	}

	//获取指定li(OL)
	var oL = document.getElementsByTagName('ol')[0];
	var oLisDemo = oL.getElementsByTagName('li');
	console.log(oLisDemo);
</script>

根据标签上的name属性可以获取同一组标签对象:document.getElementsByName('name属性值')

<input name = 'cs' type="text" value = "hello1"> <br/>
<input name = 'cs' type="text" value = "hello2"> <br/>
<input name = 'cs' type="text" value = "hello3"> <br/>
<input name = 'cs' type="text" value = "hello4"> <br/>
<input name = 'cs' type="text" value = "hello5"> <br/>
<script type="text/javascript">
	//根据name属性获取一组input标签
	var oInputs = document.getElementsByName('cs');
	console.log(oInputs[0].value);
	for(var i = 0;i<oInputs.length;i++){
		console.log(oInputs[i].value);
		if(i === 1 || i === 3){
			oInputs[i].value = 'demo'
		}
	}

HTML5.0版本以上的获取元素的方式(选择器: ID选择器(#)类选择器(.) 标签选择器)

innerHTML获取非表单内容

<button id="oBtn2">点击获取1</button>
<button class="oBox">点击获取2</button>
<button>点击获取3</button>
<script type="text/javascript">
    var oBtn2 = document.querySelector('#oBtn2');
    console.log(oBtn2);
    var oBox = document.querySelector('.oBox');
    console.log(oBox);
    //如果参数是标签选择器  获取的是页面上的第一个button按钮
    var btn = document.querySelector('button');
    console.log("result = "+btn.innerHTML);
</script>

根据选择器获取一组元素 document.querySelectorAll();

<h5>根据选择器获取一组元素 document.querySelectorAll()</h5>
<input type="checkbox" class = 'oInputs'>
<input type="checkbox" class = 'oInputs'>
<input type="checkbox" class = 'oInputs'>
<input type="checkbox" class = 'oInputs'>
<input type="checkbox" class = 'oInputs'>
<script type="text/javascript">
	//根据选择器获取一组元素
	var oInputs = document.querySelectorAll('.oInputs');
	console.log(oInputs.length);

根据ID属性获取元素对象

innerText 获取内容时,不包括该标签中的子标签

//innerHTML? 获取内容时,包括标签

<script type="text/javascript">
	//根据ID属性获取元素对象
	//innerText 获取内容时,不包括该标签中的子标签
	var oDiv = document.getElementById('oDiv');
	console.log(oDiv.innerText);//Text 文本
	//innerHTML  获取内容时,包括标签
	console.log(oDiv.innerHTML);

</script>
<div class="oBox">

</div>
<script type="text/javascript">
	var oBox = document.querySelector('.oBox');
	//innerText设置时  标签时无效的。
	// oBox.innerText = '<h1>好好学习</h1>'
	// innerHTML设置时 标签是有效的
	oBox.innerHTML = '<h1>好好学习</h1>'
</script>

设置图片大小的,图片属性 (实现实现图片的手动切换)

将图片地址赋值到输入框里面

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
		img{
			width:200px;
			height: 200px
		}
	</style>
</head>
<body>
	<img src="img/1.jpg" alt=""> <br>
	<input type="text"><br>
	<button id="oBtn1">点击获取src属性</button>

	<button id="oBtn2">点击设置src属性</button>

	<script type="text/javascript">
		var oBtn1 = document.getElementById('oBtn1');
		oBtn1.onclick = function(){
			//获取img标签
			var oImg = document.querySelector('img');
			// alert(oImg.src)
			// 获取input
			var oInput = document.querySelector('input');
			oInput.value = oImg.src;
		};

		var oBtn2 = document.getElementById('oBtn2');
		oBtn2.onclick = function(){
			//获取img标签
			var oImg = document.querySelector('img');
			// alert(oImg.src)
			oImg.src = 'img/2.jpg'
			// 获取input
			var oInput = document.querySelector('input');
			oInput.value = oImg.src;
		};
	</script>


</body>
</html>

简单的图片轮播(手动、自动与停止切换)

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
		img{
			width: 300px;
			height: 300px;
		}
	</style>
</head>
<body>
	<h3>简易图片轮播器</h3>
	<hr>
	<img src="img/1.jpg" alt="">
	<br>
	<br>
	<button onclick="nextImg();">下一张</button>
	<button onclick = "autoImg();">自动切换图片</button>
	<button onclick = "stopImg();">停止自动切换图片</button>
	<script type="text/javascript">
		//定义数组  存储所有的图片名称  通过下标获取
		var imgs = [
			'img/1.jpg',
			'img/2.jpg',
			'img/3.jpg',
			'img/4.jpg'
		];



var index = 0;
	//设置nextImg函数
	function nextImg(){
		//获取img标签
		var oImg = document.querySelector('img');
		index++;
		if(index>=imgs.length){
			index = 0;//归0
		}
		oImg.src = imgs[index];
		console.log(index);//检查控制台是否报错
	};

	//自动切换
	var timer = null;
	function autoImg(){
		timer = window.setInterval(function(){
			nextImg();
		},1000);
	}
	//停止定时器
	function stopImg(){
		window.clearInterval(timer);
	}

设置鼠标触碰事件(进行图片的切换)

方法在上面的代码段:!!!!!

//获取img标签
	var oImg = document.querySelector('img');
	oImg.onmouseover = function(){
		stopImg();
	};
	oImg.onmouseout = function(){
		autoImg();
	};
	//当页面加载完毕后自动播放图片
	window.onload = autoImg();

控制元素(标签)隐藏与显示 的两种方法

行内样式优先级高

第一种:

	visibility属性    visible	表示元素是可见的	hidden	表示元素是不可见的
			object.style.visibility="值"

第二种:

display属性	none	表示此元素不会被显示	block	表示此元素将显示为块级元素,
此元素前后会带有换行符
		object.style.display="值"

两者的区别在于--前者会将?属性隐藏时? 会占用位置,后者则反之。

两者使用的代码如下:

 -->
 <h3>控制标签的显示与隐藏</h3>
 <!-- 对于visibility属性以及display属性都需要借助style属性才能进行调用 -->
 <img src="img/1.jpg" alt="">
 <img src="img/2.jpg" alt="">
 <img src="img/3.jpg" alt="">
 <br>
 <button id="oBtn1">控制隐藏(visibility属性)</button>
 <button id="oBtn2">控制显示(visibility属性)</button>
 <script type="text/javascript">
 	var oBtn1 = document.querySelector('#oBtn1');
 	oBtn1.onclick = function() {
 		// var oImg2 = document.getElementsByTagName('img')[1];
 		var oImg2 = document.querySelectorAll('img')[1];
 		// alert(oImg2.src);
 		// visibility 属性隐藏时  会占用位置
 		oImg2.style.visibility = 'hidden';
 	};

 	var oBtn2 = document.querySelector('#oBtn2');
 	oBtn2.onclick = function() {
 		// var oImg2 = document.getElementsByTagName('img')[1];
 		var oImg2 = document.querySelectorAll('img')[1];
 		// alert(oImg2.src);
 		// visibility 属性隐藏时  会占用位置
 		oImg2.style.visibility = 'visible';
 	};
 </script>

 <hr>
 <img src="img/1.jpg" alt="">
 <img src="img/2.jpg" alt="">
 <img src="img/3.jpg" alt="">
 <br>
 <button id="oBtn3">控制隐藏(display属性)</button>
 <button id="oBtn4">控制显示(display属性)</button>

 <script type="text/javascript">
 	var oBtn3 = document.querySelector('#oBtn3');
 	oBtn3.onclick = function() {
 		// var oImg2 = document.getElementsByTagName('img')[1];
 		var oImg2 = document.querySelectorAll('img')[4];
 		// display 属性隐藏时  不会占用位置
 		oImg2.style.display = 'none';
 	};

 	var oBtn4 = document.querySelector('#oBtn4');
 	oBtn4.onclick = function() {
 		// var oImg2 = document.getElementsByTagName('img')[1];
 		var oImg2 = document.querySelectorAll('img')[4];
 		// alert(oImg2.src);
 		// display 属性隐藏时  bu 会占用位置
 		// display  inline  block  inline-block
 		oImg2.style.display = 'inline-block';
 	};
 </script>


 </script>

?//根据style获取属性值? 有bug(不兼容)
??? ? ?? ?//style属性只能获取行内式样式

 <hr>

 <img style="border: 10px solid red;" id="oImgBox" src="img/1.jpg" alt="">
 <button id="oBtnBox">点击设置样式</button>
 <br><br><br><br><br><br><br>
 <script type="text/javascript">
 	 var oBtnBox = document.querySelector("#oBtnBox");
 	 oBtnBox.onclick = function(){
 	 	var oImgBox= document.querySelector('#oImgBox');
 	 	// oImgBox.style.border = '10px solid red';
 	 	// oImgBox.style.width = '500px';
 	 	//根据style获取属性值  有bug(不兼容)
 	 	//style属性只能获取行内式样式
 	 	// alert(oImgBox.style.border);
 	 	alert(oImgBox.style.width);
 	 };

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:20:01  更:2022-03-08 22:23:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:01:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码