#JS自学笔记02

JS自学笔记02

可能有点乱啊,尽量先看吧,这里效果图就不展示了,可以自己复制代码,运行查看嘎!

<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta http-equiv="X-UA-Compatible" content="ie=edge" />
		<title>Document</title>

下面进行的是一个类似css 的 hover ,鼠标悬浮事件:、

document.getElementById

getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用。

	<style type="text/css">
		#div-exp {
			width: 100px;
			height: 100px;
			background: red;
		}
	</style>
</head>

<body>
	<div>
		<div id="div-exp" onclick="foo2()" onmousemove="foo()" onmouseleave="foo1()"></div>
				
			<!--注释<onmousemove="foo()" 当鼠标移动到div时,调用方法foo-->
			<!--注释onclick="foo2()" 点击 则调用方法 foo2-->
			<!--注释onmouseleave="foo1() 当鼠标离开div时,调用方法foo1-->
				
			<script type="text/javascript">
				function foo() {
					var dianji = document.getElementById("div-exp");
					dianji.style.background = "black";
				<!--注释当鼠标离开div时,div的背景色变为black 黑色-->
				}

				function foo1() {
					var dianji = document.getElementById("div-exp");
					dianji.style.background = "red";
					<!--注释当鼠标离开div时,div的背景色变为red 红色-->
				}

				function foo2() {
					var dianji = document.getElementById("div-exp");
					dianji.style.background = "gold";
				<!--注释当鼠标离开div时,div的背景色变为gold 金色-->	
				}
			</script>
				
	<!--getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用。-->
	<!--除了 getElementById() 之外,
	还有 getElementsByName()getElementsByTagName()
	这两个返回的是个集合,要用下标进行拿取。-->
	<!--不过,如果您需要查找文档中的一个特定的元素,最有效的方法是 getElementById()。-->
	</div>

document.getElementsByName

myFunction() getElementsByTagName() 方法可返回带有指定标签名的对象的集合

<div>
	<script>
		function getElements() {
			var x = document.getElementsByName("x");
			alert(x.length);
		}
	</script>
	<span>:</span> <input name="x" type="radio" value="猫">
	<span>:</span> <input name="x" type="radio" value="狗">
	<input type="button" onclick="getElements()" value="多少名称为 'x'的元素?">
			
	<!--getElementsByName() 方法可返回带有指定名称的对象的集合。-->
	<!--alert(x.length)以弹窗的方式,返回x的长度,即有几个 name="x"名称的对象-->
	</div>

document.getElementsByTagName

getElementsByTagName() 方法可返回带有指定标签名的对象的集合

<div>
	<ul>
		<li>Coffee</li>
		<li>Tea</li>
	</ul>

	<p id="demo">单击“按钮”更改列表项的文本。</p>
	<button onclick="myFunction()">点我</button>
	<script>
		function myFunction() {
			var asd = document.getElementsByTagName("UL")[0]
			asd.getElementsByTagName("LI")[0].innerHTML = "Milk";
		};
	</script>

<!--myFunction()  getElementsByTagName() 方法可返回带有指定标签名的对象的集合。-->
     <!--提示:如果把特殊字符串 "*" 传递给 getElementsByTagName() 方法,
     它将返回文档中所有元素的列表,元素排列的顺序就是它们在文档中的顺序。-->
</div>

点击事件

1点击查询时间。
Date() 方法可返回当天的日期和时间。
innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML。

<div>
	<p>单前时间为:</p><br />
	<div id="dv" style="width: 100px;height: 100px;background: navajowhite;">

		button onclick="foo3()">点击查询</button>
		<script type="text/javascript">
		function foo3() {
			document.getElementById("dv").innerHTML = Date();
		}
		</script>
	</div>
</div>

2三级下拉菜单
css鼠标悬浮事件,制作的三级下拉菜单。
用js onmousemove 和onmouseleave也可以实现鼠标悬浮效果
也可以用点击事件来制作

<!--注释  鼠标点击事件-->
<div>
	<div style="width: 200px;height: 200px;">
		<div><button onclick="foo4()">首页</button>
			<div id="all" style="display:none;">
				<div>简介</div>
				<div>邮箱
					<div><button onclick="foo5()">下载</button>
						<div id="aller" style="display: none;">
							<div>windows</div>
							<div>android</div>
						</div>
					</div>
				</div>
			</div>
		</div>

	</div>

	<script type="text/javascript">
		function foo4() {
			document.getElementById("all").style.display = "block";
		}
<!--注释 点击后 修改id ="all"的属性为显示-->
		function foo5() {
			document.getElementById("aller").style.display = "block";
		}
	</script>
</div>
<!--注释  鼠标悬停事件 制作三级菜单-->

<html lang="zh">
<head>
	<meta charset="UTF-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
	<meta http-equiv="X-UA-Compatible" content="ie=edge" />
	<title>Document</title>
	<style type="text/css">
		#divA{
			width: 300px;
			height: 100px;
			background: gray;
			line-height: 100px;
			text-align: center;
		}
		#divA1{
			width: 300px;
			height: 300px;
			background: pink;
			display: none;
		}
		#divA1a{
			width: 300px;
			height: 100px;
			background: blue;
		}
		#divA1b{
			width: 300px;
			height: 100px;
			background: green;
		}
		#divA1c{
			width: 300px;
			height: 100px;
			background: orange;
		}
		#divA1a1{
			width: 300px;
			height: 300px;
			background: aqua;
			position: relative;
			left: 300px;
			top: -100px;
			display:none ;
		}
	</style>
</head>
<body>
	<div id="divA" onmousemove="foo()" onmouseleave="foo1()">
	
			 <!--注释<onmousemove="foo()" 当鼠标移动到div时,调用方法foo-->
				<!--注释onmouseleave="foo1() 当鼠标离开div时,调用方法foo1-->
				
		<div id="divA1">
			<div id="divA1a" onmousemove="foo3()" onmouseleave="foo4()">a
			   <!--注释 同上-->
				<div id="divA1a1">
					<div>1</div>
					<div>2</div>
					<div>3</div>
				</div>
			</div>
			<div id="divA1b">b</div>
			<div id="divA1c">c</div>
		</div>
	</div>
	
	<script type="text/javascript">
		function foo(){
			document.getElementById("divA1").style.display="block";
		}
		function foo1(){
			var foo1 = document.getElementById("divA1");
			foo1.style.display="none";
		}
		 <!--注释 其实就是控制现实与不显示display="block"和display="none"-->
		 
		function foo3(){
			document.getElementById("divA1a1").style.display="block";
		}
		function foo4(){
			document.getElementById("divA1a1").style.display="none";
		}
	</script>-->
	</body>

</html>-->

3点击变色

<div>
	<div id="div1" style="background: red;height: 100px;width: 100px;" onclick="foo5()"></div>
	<script type="text/javascript">
		function foo5() {
			if(document.getElementById("div1").style.background == "red") {
				document.getElementById("div1").style.background = "green"
			} else {
				document.getElementById("div1").style.background = "red"
			}
		}
 <!--注释  一样的 点击调用方法函数 修改属性值 -->
	</script>
</div>

4查询父子节点

<div>
	<ol>
		<li>test1</li>
		<li>test2</li>
		<li id="test3">test3</li>
	</ol>

	<script type="text/javascript">
		var o1 = document.getElementsByTagName("ol")[0];
					
					console.log(o1.childNodes)
								//查询子节点
//在谷歌chrome浏览器控制台 console里输出:
NodeList(7) [text, li, text, li, text, li#test3, text]
0: text
1: li
2: text
3: li
4: text
5: li#test3
6: text
length: 7
__proto__: NodeList

					
			//查询首尾子节点
			//查询首子节点 console.log(o1.firstElementChild)
			//查询尾子节点 console.log(o1.lastElementChild)
//在谷歌chrome浏览器控制台 console里依次输出:
<li>test1</li>
<li id="test3">test3</li>


			//查询父亲节点
			//				console.log(o1.parentNode)
			//				console.log(o1.childNodes[0])
			//				console.log(o1.childNodes[0].nextSibling)
			//				console.log(o1.childNodes[0].previousSibling)
//在谷歌chrome浏览器控制台 console里依次输出:
<div>...<div>
#text
<li>test1</li>
null

			var li1 = document.createElement('li');
			li1.innerHTML = ('这是新创建的');
// HTMLElementObject.innerHTML=text 
//改变文本, URL, 及链接目标:
			o1.appendChild(li1)
				 //添加一个(li1)
//在谷歌chrome浏览器控制台 console里输出:
1.test1
2.test2
3.test3
4.这是新创建的
			var li1 = document.createElement('li');
			li1.innerHTML = ('这是新创建的');
			//这里是为了实现下面的功能复制的上面两行代码,请和上面的分开实现
			var li_test3 = document.getElementById("test3")
			o1.insertBefore(li1, li_test3)
			//将 li1 插入到 li_test3 之前
//在谷歌chrome浏览器控制台 console里输出:
1.test1
2.test2
3.这是新创建的
4.test3				

			var li1 = document.createElement('li');
			li1.innerHTML = ('这是新创建的');
			//这里是为了实现下面的功能复制的上面两行代码,请和上面的分开实现
			var li_test3 = document.getElementById("test3")
			o1.insertBefore(li1, li_test3)
			o1.removeChild(li_test3)
			//删除li_test3
//在谷歌chrome浏览器控制台 console里输出:
1.test1
2.test2
3.这是新创建的

				</script>
			</div>
	</body>

猜你喜欢

转载自blog.csdn.net/weixin_43097301/article/details/83788796
今日推荐