3、javascrip

JavaScript
  1. javaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。

  2. js语法

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
    	//
        window.onload=function(){
            //获取id为btnId的对象
            var btn=document.getElementById("btnId");
            //获取按钮对象的click属性
            btn.onclick=function(){
            	//弹窗函数
                alert("Waring");
            };
        }
    </script>
    </head>
    <body>
    	<button id="btnId">SayHello</button>
    </body>
    </html>
    <!--1.使用var声明变量,声明时不需指明数据类型
    	var 变量名;
    	js五种基本类型:number String boolean null undefined
    	对象:object
        typeof:测试对象类型,
    	如果声明出来未赋值,则undefined
        var可以动态赋值
    -->
    	var num1;//声明变量
    	num1=12;//赋值
    	num1="你好"
    
    <!--2.声明函数
    	方法不管在哪里声明,浏览器都会优先加载
    	变量则必须先声明后使用;
    	在js中,方法的唯一标识就是方法名,即不存在重载,调用方法的时候是可以选择传递的
    -->
    //声明
    function sum(a,b){
    	alert(a+b);
    }//调用
    sum(0,1);
    //方法名就是变量名
    var sum=function(a,b){
    	alert(a+b);
    }
    
    <!--3.创建对象-->
    //第一种方式
    var obj=new Object();
    //第二种方式,创建出来的对象如何添加属性和方法
    var obj2={};
    //动态增加属性
    obj2.name="猪八戒";
    //获取属性
    alert(obj2.name);
    //
    obj2.work=function(){
    	alert("haha");
    };
    obj2.work();
    //在声明的时候给对象添加属性和方法
    var obj3={name:"猪八戒",age:500,work:function(){
    	alert("吃水。。");
    }};
    alert(obj3.name);
    alert(obj3.age);
    obj3.work;
    <!---->
    其他大部分语法跟java公用,但有不同,牵涉到声明变量,用var声明就好
    try{
    	var i=10/0;
    }catch(e){
    	alert(e);
    }
    1. 事件
    <!--常用事件可以查看dom文档-->
    <!--在标签的事件属性中编写js代码-->
    <button id="btnId" onclick="alert('HelloWorld')">ByeBye</button>
    <!--动态绑定
    步骤;	  1.找到元素
    		2.为元素相应的事件属性赋值一个方法
    		3.当事件发生以后,浏览器自动调用 
    -->
    var button=document.getElementById("btn");
    button.οnclick=function(){
    	alert("你好");
    }
    <!--window.onload:浏览器加载完成整个页面的时候调用后面的方法-->
    window.οnlοad=function(){
    	var button=document.getElementById("btn");
    	button.οnclick=function(){
    	alert("你好");
    	}
    }
    <!---->
    
    1. js的几种写入方式
    <!--写在body标签后面-->
    <body>
        <button id="btnId">SayHello</button>
        <!--图片加载没完成时,script中的img加载失败-->
        <!--img或iframe等加载时间过长,会导致获取不到属性-->
        <img src="" id="img"/>
        <script type="text/javascript"> 
            var btn=document.getElementById("btnId");
            //获取按钮对象的click属性
            btn.onclick=function(){
            	//弹窗函数
                alert("Waring");
        	}
            var img=document.getElementById("img");
        </script>
    
    </body>
    
    <!--写在头中-->
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
    	//若无window.onload预先加载完整个页面,则失败
        window.onload=function(){
            //获取id为btnId的对象
            var btn=document.getElementById("btnId");
            //获取按钮对象的click属性
            btn.onclick=function(){
            	//弹窗函数
                alert("Waring");
            };
        }
    </script>
    </head>
    <body>
    	<button id="btnId">SayHello</button>
    </body>
    </html>
    
    <!--写在事件属性中(不推荐),结构耦合度高-->
    <button onclick="alert('hello')">hello</button>
    
    <!--引入外部的js文件-->
    <script type="text/javascript" src="路径"></script>//不可在里面写代码,只能重起一行
    
    
   
5. dom模型:document object model 文档对象模型
   
   ```html
   <!--dom模型,也就是浏览器把html页面抽象成一个document对象,包括页里面的所有元素。
   	dom模型是一个属性模型-->
   <!--bom模型:浏览器对象模型-->

在这里插入图片描述

<!--节点:每一元素都是节点
	父节点:当前节点的上一级节点
	子节点:当前节点的下一级节点
	祖先节点:当前节点的祖先
	后代节点:当前节点的后代
	兄弟节点:互为兄弟	
-->
<!--
	元素节点:HTML标签的文本内容(<a href="www.baidu.com">百度</a>)
	属性![在这里插入图片描述](https://img-blog.csdnimg.cn/20200720161856192.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMjA3MTM2,size_16,color_FFFFFF,t_70#pic_center)
节点:元素的属性(href="www.baidu.com")
	文本节点:HTML标签中的文本内容(百度)
-->
<a href="www.baidu.com">百度</a>
<!--所有节点都有三个属性
						 元素节点     属性节点	    文本节点
	nodeName:节点名		标签名		  属性名		#text		
	nodeType:节点类型		1		    2			 3
	nodeValue:节点值		null		属性值		  文本值
-->
window.οnlοad=function(){
	var aEle=document.getElementById("aid");
	alert(aEle.nodeName);
	alert(aEle.nodeType);
	alert(aEle.nodeValue);
	//返回元素的属性节点
	var attrEle=aEle.getAttributeNode("id");
	alert(attrEle.nodeName);
	alert(attrEle.nodeType);
	alert(attrEle.nodeValue);
	//返回元素的第一个子节点
	var textFile=aEle.firstChild;
	alert(textFile.nodeName);
	alert(textFile.nodeType);
	alert(textFile.nodeValue);
}
<a href="www.baidu.com" id="aid">百度</a>
  1. dom查询

    <!--每个载入的html文件都是一个document-->
    https://www.runoob.com/jsref/dom-obj-document.html
    
    <!--getElementById():通过id属性获取一个元素节点对象-->
    <!--getElementsByTagName():通过标签名获取一组元素对象-->
    <!--getElementsByName():通过name属性获取一组元素对象-->
    <!--
    	对象.innerText:获取元素中的文本
    	对象.innerHTML:获取元素的整个html片段-->
    	//返回第一个子节点:对象名.firstChild;返回最后一个子节点:对象名.lastChild;
    	var firstEle=father.firstChild;
    
    	//返回父节点
    	var son=document.getElementById("元素ID");
    	var parent=son.parentNode
    	
    	//返回前一个兄弟节点:对象名.previousSibling; 返回后一个兄弟节点:nextSibling;
    	var di=document.getElementById("ID名");
    	var xiong=xiong.previousSibling;
    	
    	//获取标签遍历所有节点
    	var list=document.getElementsByTagName("标签名");
    	for(var i=0;i<list.length;i++){
    		var liFile=lis[i];
    		alert(liFile.innerText);
    	}
    	
        //传入name值查找对象
    	var names=document.getElementByName("元素的name");
    	for(var i=0;i<names.length;i++){
    		var lis=names[i];
    		alert(lis.value);
    	}	
    	
    	//名为parent的父元素的子节点
    	var parent=document.getElementByName("name");
    	var son=parent.getElementByTagName("子标签名");
    	for(var i=0;i<son.length;i++){
    		var lis=son[i];
    		alert(lis.innerHTML);
    	}	
        
        //返回名为parent的父元素的子节点们
    	var parent=document.getElementByName("name");
        var child=parent.childNodes;
        for(var i=0;i<child.length;i++){
    		alert(child[i].nodeValue)
    	}
    	
    	//读取元素value 值
    	var ele=document.getElementById("ID");
    	alert(ele.value);
    	
    	//设置元素新值
    	var ele=document.getElementById("ID");
    	ele.value="新值";
    	
    	//返回文本
        var ele=document.getElementById("ID");
    	alert(ele.innerText);
    	alert(ele.innerHTML);
    <!---->

dom文档

​ 7. dom增删改

<!--修改 元素.元素的属性-->
var ele=document.getElementById("ID");
ele.innerText="newText"; //修改属性文本

<!--删除 父节点.removeChild(当前节点)-->
var ele=document.getElementById("Id");
//找到要删除的节点的父节点
var parent=ele.parentNode;
parent.removeChild(ele);

<!--替换 父节点.replaceChild(新元素,旧元素);-->
var ele=document.getElementById("Id");
var parent=ele.parentNode;
parent.replaceChild(newele,ele);

<!--创建 父元素.appendChild(新建子节点);-->
//1.创建子节点
//2.创建父节点
//3.把子节点加到父节点
//创建<li>南京</li>
var ele=document.getElementById("id");
//创建子节点
var textEle=document.createTextNode("南京");
//创建父节点
var liEle=document.createElement("li");
alert(textEle.nodeName+"---"+liEle.nodeName);
//子节点加入父节点
liEle.appendChild(textEle);

<!--替换 父元素.replaceChile(新节点,旧节点);-->
var parentUl=document.getElementById("Ul");
parentUl.replaceChile(newNode,oldNode);

<!--在一个节点之前插入新节点 父元素.insertBefore(新节点,目标节点);-->
//创建子节点
var textEle=document.createTextNode("南京");
//创建父节点
var liEle=document.createElement("li");
//子节点加入父节点
liEle.appendChild(textEle);
//找到目标节点的节点
var insert=document.getElementById("in");
//找到父元素
var parent=document.getElementById("parent");
parent.insertBefore(liEle,insert);

新节点 父元素.insertBefore(新节点,目标节点);–>
//创建子节点
var textEle=document.createTextNode(“南京”);
//创建父节点
var liEle=document.createElement(“li”);
//子节点加入父节点
liEle.appendChild(textEle);
//找到目标节点的节点
var insert=document.getElementById(“in”);
//找到父元素
var parent=document.getElementById(“parent”);
parent.insertBefore(liEle,insert);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值