jQuery和dom的区别与互相转化、jQuery与原生js的入口函数区别和jQuery()函数介绍

目录

如何进行相互转换

jQuery入口函数的多种写法

jQuery入口函数和js原生入口函数的区别

jQuery()/$()

jQuery(function(){})

jQuery(字符串)

jQuery(dom节点)


首先jQuery()相当于是一个一个函数,通常用jQuery()来选中dom对象,然后$可以替换jQuery,即可以用$()。然后dom节点上原生的方法和jQuery对象上的方法是不能交换使用,所以我们要知道如何进行互相转换(以下jQuery都可以用$符号替换)。

如何进行相互转换

$(dom)是将括号内的dom节点封装为jQuery的对象,之后可以通过这个对象调用jQuery上的方法,这个jQuery对象是一个类数组,类数组上存储了原生的dom节点,所以转换有2种方法。

  1. $(dom/CSS选择器)[num];通过后面加上数组中选取内容的方法,即方括号加序号将类数组中对应序号的dom节点取出。
  2. $(dom/CSS选择器).get(num);通过jQuery对象上的get方法,将类数组对应num序号的dom节点取出。

jQuery入口函数的多种写法

  1. $(document).ready(function(){}
  2. jQuery(document).ready(function(){}
  3. $(function(){})         推荐写法
  4. jQuery(function(){})

 

jQuery入口函数和js原生入口函数的区别

js原生入口函数window.onload =function(ev){}与$(document).ready(function(){}的区别:

  1. 编写多个入口函数时,js原生的入口函数后写的会覆盖先写的,而jQuery的不会覆盖会依次按顺序执行。
  2. 加载区别(验证失败)

下面是验证过程以及结论(这个是听网上课程演示了,但自己尝试失败)。代码如下:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.12.0/jquery.js"></script>
</head>
<body>
	<img src="https://img-operation.csdnimg.cn/csdn/silkroad/img/1607569674685.png" alt="">
	<script type="text/javascript">
		window.onload = function (ev) {
			var img = document.getElementsByTagName('img')[0];
			console.log(img);
			var width = window.getComputedStyle(img).width;
			console.log(width);
		}
		$(document).ready(function () {
			var $img = $('img');
			console.log($img);
			var $width = $img.width();
			console.log($width);
		})
	</script>
</body>
</html>

网上演示前需要删除网页中的缓存图片,因为浏览器为了加载更快每次的运行的图片会有缓存记录,下面是删除过程。

按照网上的删除后运行代码,jQuery的入口函数中不会打印出宽度,所以得出结论jQuery的入口函数是在doom树生成之后,图片加载之前,而原生js的可以,所以原生js的是在图片加载后。但是我这里即使删除了还是能打印出宽度,感觉可能是jQuery版本更新或者没有完全删除缓存的图片问题。如果有大佬知道问题的希望能告知!

 

jQuery()/$()

jQuery(function(){})

作为入口函数的一种写法

jQuery(字符串)

通过字符串分为2类:

  1. 字符串为一个字符串选择器,该选择器和css中选择器完全相同,能够将选取内容的dom节点封装为jQuery对象。
  2. 字符串为一个代码片段,根据代码片段创建相应的dom元素,字符串和innerHTML查看的内容相同。

jQuery(dom节点)

将dom节点封装为jQuery对象。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值