jQuery入门知识

jQuery核心函数得作用

核心函数的4个作用   :  根据传给核心函数参数不同一共有以下四个作用      重点

1.传入参数为[函数]时:在文档加载完成后执行这个函数   window.onload = function(){}

2.传入参数为[HTML字符串]时:根据这个字符串创建元素节点对象

3.传入参数为[选择器字符串]时:根据这个字符串查找元素节点对象    重要

                   //$是jquery 的内容,执行后返回的对象和dom查找的原生对象不同,只能调用jqueryapi中的方法或属性

4.传入参数为[DOM对象]时:将DOM对象包装为jQuery对象返回

                  //dom对象:  通过原生的js的HTML DOM查找的对象都是dom对象[document的三个方法],只能调用w3c中的dom方法

                   //jquery对象:   通过$包装过或查找到的就是jquery对象,只能调用jquery api的方法

 下面测试核心函数的作用,也就是和原生DOM的不同(重点)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>核心函数的作用</title>
<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
	//$是什么?   核心函数:jquery的功能基本都是通过$实现的
	//alert($);		
	//核心函数的4个作用   :  根据传给核心函数参数不同一共有以下四个作用      重点
	
	//1.传入参数为[函数]时:在文档加载完成后执行这个函数   window.onload = function(){}
	$(function(){
		//操作页面的标签
		//2.传入参数为[HTML字符串]时:根据这个字符串创建元素节点对象
		var $aEle  = $("<a href='#' >点我</a>"); //"<li id="bj">北京</li>"
		//将创建的元素对象追加到body标签最后
		$("body").append($aEle);
		//3.传入参数为[选择器字符串]时:根据这个字符串查找元素节点对象    重要
		alert($("#bj").text());//$是jquery 的内容,执行后返回的对象和dom查找的原生对象不同,只能调用jqueryapi中的方法或属性
		//4.传入参数为[DOM对象]时:将DOM对象包装为jQuery对象返回
		//dom对象:  通过原生的js的HTML DOM查找的对象都是dom对象[document的三个方法],只能调用w3c中的dom方法
		//jquery对象:   通过$包装过或查找到的就是jquery对象,只能调用jquery api的方法
		var bjEle = document.getElementById("bj");
		var $bjEle = $(bjEle);//jquery对象推荐使用$开始命名
		alert(bjEle.innerHTML);
		alert($bjEle.text());
	});
</script>
</head>
<body>
	<ul id="city">
		<li id="bj">北京</li>
		<li>上海</li>
		<li>东京</li>
		<li>首尔</li>
	</ul>
</body>
</html>

Dom对象和jQuery对象:

dom对象js实现的HTML DOM 封装,都是dom对象通过原生的HTML DOM ,api查找到的都是dom对象

            jquery对象:  通过$查找 或包装过的就是jquery对象

            jquery是js的框架,底层功能还是通过原生的dom方式实现的,不能离开js

区别:

             1、变量名命名规范:  jquery对象推荐使用$开始命名

             2、各自只能调用自己的方法(方法不是通用的)

             3、dom对象和jquery对象的转换:

                         dom对象转jquery对象:能够使用框架的方法 $(domObj);

                         jquery对象转dom对象: jquery有些功能实现不了,需要使用dom标准实现

                         $()在查找标签时  或将dom对象转为jquery对象时,就是创建了一个集合  将所有的dom对象存到集合中

           jquery对象的本质:dom对象的集合

                  - 通过下标可以取出指定索引位置的dom元素

                  - $jqueryObj[0]

下面测试实现 

使用DOM对象调用DOM方法
使用DOM对象调用jQuery方法
 使用jQuery对象调用jQuery方法
 使用jQuery对象调用DOM方法

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>DOM对象和jQuery对象</title>
<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
	$(function(){
		//分别使用DOM对象和jQuery对象获取div中的文本
		/*
			dom对象:  js实现的HTML DOM 封装都是dom对象
					通过原生的HTML DOM api查找到的都是dom对象
					
			jquery对象:  通过$查找 或包装过的就是jquery对象		
					jquery是js的框架,底层功能还是通过原生的dom方式实现的,不能离开js
			区别:
				1、变量名命名规范:  jquery对象推荐使用$开始命名 
				2、各自只能调用自己的方法
				3、dom对象和jquery对象的转换:
					dom对象转jquery对象:能够使用框架的方法
							$(domObj);
					jquery对象转dom对象: jquery有些功能实现不了,需要使用dom标准实现
							$()在查找标签时  或将dom对象转为jquery对象时,就是创建了一个集合  将所有的dom对象存到集合中
							jquery对象的本质:dom对象的集合
							- 通过下标可以取出指定索引位置的dom元素
							- $jqueryObj[0]
		*/
		//1、使用DOM对象调用DOM方法
		var btn01 = document.getElementById("dom2dom");
		var div = document.getElementById("testDiv");
		btn01.onclick = function(){
			alert(div.innerHTML);
			alert(div);//object HTMLDivElement
		};
		//2、使用DOM对象调用jQuery方法
		var btn02 = document.getElementById("dom2jQuery");
		btn02.onclick = function(){
			alert($(div).text());//调用失败
		};
		//3、使用jQuery对象调用jQuery方法
		var $div = $("#testDiv");
		$("#jQuery2jQuery").click(function(){
			alert($div.text());
			alert($div);//object Object
		});
		//4、使用jQuery对象调用DOM方法
		$("#jQuery2dom").click(function(){
			//alert($div.innerHTML);
			//alert($("button").size());
			//遍历jquery对象,取出每个位置的dom对象
			var $btns = $("button");
			for(var i=0;i<$btns.length;i++){
				alert($($btns[i]).text());
			}
			
			
		});
	});
</script>
</head>
<body>
	<div id="testDiv">学习嘛,慢慢来!</div>
	<br/>
	<button id="dom2dom">使用DOM对象调用DOM方法</button>
	<button id="dom2jQuery">使用DOM对象调用jQuery方法</button>
	<button id="jQuery2jQuery">使用jQuery对象调用jQuery方法</button>
	<button id="jQuery2dom">使用jQuery对象调用DOM方法</button>
</body>
</html>

 

 

猜你喜欢

转载自blog.csdn.net/yuanmomoya/article/details/82191200
今日推荐