zoukankan      html  css  js  c++  java
  • JS笔记009

    第09章 DOM基础

    9.1 DOM是什么

    DOM,全称Document Object Model(文档对象模型)
    DOM采用的是"树型结构",用"树节点"形式来表示页面中的每一个元素。
    DOM操作可以理解成就是对元素的操作,就是把这个元素看成一个对象,然后使用这个对象的属性和方法来进行相关操作。
    
    

    9.2 节点类型

    DOM节点有12种类型,常见的有三种:元素节点、属性节点、文本节点
    <div id="属性节点">文本节点</div> //div是元素节点
    

    9.3 获取元素

    在javascript中,有六种方式来获取指定元素:
    1、getElementById()
    2、getElementsByTagName()
    3、getElementsByClassName()
    4、querySelector()和querySelectorAll()
    5、getElementsByName() //只用于表单元素,一般只用于单选按钮和复选按钮
    6、document.title和document.body
    
    # getElementById 
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>getElementById</title>
    		<style>
    			div{
    				color: blue;
    				font-size: 50px;
    			}
    		</style>
    		<script>
    			window.onload = function()
    			{
    				var oDiv = document.getElementById("div1");
    				oDiv.style.color = "red";
    			}
    		</script>
    	</head>
    	<body>
    		<div id="div1">javascript</div><br/>
    	</body>
    </html>
    
    # getElementsByTagName
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>getElementById</title>
    		<style>
    			div{
    				color: green;
    				font-size: 50px;
    			}
    		</style>
    		<script>
    			window.onload = function()
    			{
    				// var oDiv = document.getElementById("div1");
    				// oDiv.style.fontSize = "100px";
    				var oDiv = document.getElementsByTagName("div");
    				oDiv[0].style.color = "red";
    			}
    		</script>
    	</head>
    	<body>
    		<div id="div1">javascript</div><br/>
    	</body>
    </html>
    
    # getElementById()与getElementsByTagName()的区别
    1、getElementById()获取的是一个元素,而getElementsByTagName()获取的是多个元素;
    2、getElementById()前面只可以接document,getElementsByTagName()不仅可以接document还可以接其他DOM对象;
    3、getElementById()不可以操作动态创建的DOM元素,而getElementsByTagName()可以操作动态创建的DOM元素;
    
    # getElementsByClassName
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>getElementsByClassName</title>
    		<script>
    			window.onload = function(){
    				let oLi = document.getElementsByClassName("select");
    				for(var i=0;i<5;i+=2)
    				{
    					oLi[i].style.color = "red";
    				}
    			}
    		</script>
    	</head>
    	<body>
    		<ul type="circle">
    			<li class="select">HTML</li>
    			<li class="select">CSS</li>
    			<li class="select">JavaScript</li>
    			<li class="select">jQuery</li>
    			<li class="select">Vue.js</li>
    		</ul>
    	</body>
    </html>
    
    # querySelectorAll
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>getElementsByClassName</title>
    
    	</head>
    	<body>
    		<div class="test">HTML</div>
    		<div class="test">CSS</div>
    		<div class="test">JavaScript</div>
    		<div class="test">jQuery</div>
    		<div class="test">Vue.js</div>
    		<script>
    			window.onload =  function A(){
    				var oDiv = document.querySelectorAll(".test");
    				oDiv[0].style.backgroundColor = "red";
    			}
    		</script>
    	</body>
    </html>
    
    # querySelector
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>getElementsByClassName</title>
    
    	</head>
    	<body>
    		<div id="test">HTML</div>
    		<div class="test">CSS</div>
    		<div class="test">JavaScript</div>
    		<div class="test">jQuery</div>
    		<div class="test">Vue.js</div>
    		<script>
    			window.onload =  function A(){
    				var oDiv = document.querySelector(".test");
    				oDiv.style.backgroundColor = "red";
    			}
    		</script>
    	</body>
    </html>
    
    # getElementsByName()
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>getElementsByClassName</title>
    
    	</head>
    	<body>
    		<label><input type="radio" name="status" value="本科" />本科</label>
    		<label><input type="radio" name="status" value="硕士" />硕士</label>
    		<label><input type="radio" name="status" value="博士" />博士</label>
    		<script>
    			window.onload =  function A(){
    				var oInput = document.getElementsByName("status");
    				oInput[0].checked = true;
    			}
    		</script>
    	</body>
    </html>
    
    # document.title和document.body
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>getElementsByClassName</title>
    
    	</head>
    	<body>
    		<label><input type="radio" name="status" value="本科" />本科</label>
    		<label><input type="radio" name="status" value="硕士" />硕士</label>
    		<label><input type="radio" name="status" value="博士" />博士</label>
    		<script>
    			window.onload =  function A(){
    				document.title = "梦想是什么?";
    				document.body.innerHTML = "<strong style='color: red'>梦想就是考完本科考硕士考博士</strong>";
    			}
    		</script>
    	</body>
    </html>
    

    9.4 创建元素

    var e1 = document.createElement("元素名"); //创建元素节点
    var txt = document.createTextNode("文本内容"); //创建文本节点
    e1.appendChild(txt); //把文本节点插入元素节点中
    e2.appendChild(e1); //把组装好的元素插入已存在的元素中
    e1表示JavaScript动态创建的元素节点,txt表示javascript动态创建的文本节点,e2表示HMTL中已经存在的元素节点。
    A.appendChild(B)表示把B插入到A内部中去,也就是使得B成为A的子节点。
    

    9.5 插入元素

    A.appendChild(B); //把B元素插入到A元素的子元素的末尾
    A.insertBefore(B,ref); //将一个新子元素B插入到父元素A中的某一个子元素ref之前
    

    9.6 删除元素

    A.removeChild(B); //删除A元素下的B元素
    

    9.7 复制元素

    obj.cloneNode(bool); //obj表示被复制的元素,而参数是一个布尔值,1表示复制元素本身及其所有子元素,0表示只复制该元素本身;
    

    9.8 替换元素

    A.replaceChild(new,old); //A表示父元素,new表示新子元素,old表示旧子元素;
    
  • 相关阅读:
    01背包回溯法
    网络嗅探器
    侦听局域网内密码
    Winsock协议目录
    LSP(分层服务提供者)
    n后问题回溯法
    批处理作业调度回溯法
    图m着色问题
    SPI概述
    符号三角形问题回溯法
  • 原文地址:https://www.cnblogs.com/infuture/p/13548516.html
Copyright © 2011-2022 走看看