jQuery概述、优点、使用步骤、入口函数、jQuery对象和DOM对象之间的转换、层级选择器、属性选择器、筛选选择器、节点选择器

jQuery简介:

jQuery是一个高效、精简并且功能丰富的javascript库,它提供的API简单易学,且兼容众多浏览器,极大地简化了javascript代码开发,包含内容:HTML 元素选取、HTML 元素操作、CSS 操作、HTML 事件函数、JavaScript 特效和动画、HTML DOM 遍历和修改、AJAX、Utilities。

jQuery优点:

  1. 轻量级。核心文件才几十kb,不会影响页面加载速度。
  2. 跨浏览器兼容,基本兼容了现在主流的浏览器。
  3. 链式编程、隐式迭代。
  4. 对事件、样式、动画支持,大大简化了DOM操作。
  5. 支持插件扩展开发,有着丰富的第三方的插件。
  6. 免费、开源。

jQuery 的使用步骤:

1.下载jQuery:

下载jQuery可以到官网地址: https://jquery.com/,选择自己需要的版本,不同版本之间的大概区别如下:

1x :兼容 IE 678 等低版本浏览器, 官网不再更新

2x :不兼容 IE 678 等低版本浏览器, 官网不再更新

3x :不兼容 IE 678 等低版本浏览器, 是官方主要更新维护的版本

2.将jQuery文件引入项目:

下载下来的压缩包里面有两种格式jQuery文件,选择以min.js结尾的压缩文件(不压缩也可以,生产环境一般选择压缩文件)并通过script标签推荐引入到head标签中:

	<head>
    	<script type="text/javascript" src="jquery.min.js"></script><!-- type="text/javascript"可以省略,当然jQuery文件可以使用cdn等网络资源 -->
    </head>

3.在新的script标签中书写jQuery代码:

因为jQuery实际就是封装的javascript代码,因此jQuery代码和javascript代码可以相互书写,但是它们之间有自己的API,不能混淆,如:

	<script>
        // 书写jQuery代码和javascript代码:
        $('p').text('这是一段文本');
    		function myf(){};
    </script>

jQuery语法:

入口函数(文档就绪函数):

因为jQuery在页面未加载完成时,是不能操作DOM元素的,为了避免出现这个问题,jQuery封装了像javascript中onload事件一样的方法,如:

	<script>
        // 第一种: $(function(){书写jquery代码:}),这种比较简洁,推荐使用:
        $(function() {
            $('div').text('hello word');
        });
    
        // 第二种:通过$(document).ready()方法实现加载延时,同样在ready()方法的括号中使用function(){书写jQuery代码:}
        $(document).ready(function() {
            $('div').text('hello word');
        });
    </script>

注意:

1.在jQuery中$就是jQuery的顶级对象,在jQuery中任何$都可以使用jQuery代替(jQuery中的Q是大写),在jQuery中使用jQuery关键字可以解决其他语言中$命名冲突问题;

2.上面的两种方式都是指DOM元素的加载,相当于原生javascript中的DOMContentLoaded方法,并非指的图片等其他引用资源。

jQuery 对象和 DOM 对象实质比较:

jQuery的方法和javascript的方法是不同的,因此不能混淆使用,如DOM元素中的innerHTML和jQuery的html()是不能混淆使用;

jQuery对象和javascript对象也是不同的, 它们之间的实质是:jQuery对象是通过$符号将DOM对象包装后产生的,jQuery对象是一个伪数组。

jQuery 对象和 DOM 对象的相互转换:

因为jQuery对象是通过$包装后生成的,因此:DOM对象转jQuery对象仅需通过$符号或jQuery包裹,如:

	<script>
        var divs = document.querySelector('div');
        divs.innerText = 'hello';
        // 通过$将divs这个DOM对象转换为jQuery对象:
        $(divs).css('color', 'red');
    </script>

因为jQuery对象实际是以DOM对象为元素的伪数组,因此可以通过索引的方式拿到某个DOM元素,一般索引为0的元素为DOM元素本身,因此一般都是通过[0]的方式将jQuery对象转换为DOM对象,但是jQuery中提供了get(0)方法转换为DOM元素,如:

	<script>
        var $box = $('div');
        $box.html('hello word');
        // 通过[0]将jQuery对象转换为DOM对象:
        $box[0].style.color = 'skyblue';
    		// 通过get()转换为DOM对象:
    		$box.get(0).style.fontSize='20px';
    </script>

jQuery 选择器:

原生javascript中的选择器存在兼容性问题,而且使用比较单一,jQuery给我们封装了丰富而且没有兼容问题的选择器,其语法:$(‘CSS选择器’),具体如下:

基础选择器:

	<script>
        // 1标签选择器:
        $('div').text('hello');
    
        // 2.class类选择器:
        $('.p').html('<a href = "https://www.baidu.com">百度</a>');
    
        // 3.id选择器:
        $('#a').css('color', 'green');
    
        // 4.通配符选择器:
        $('*').css('fontSize', '30px');
    
        // 5.并集选择器:
        $('.p,a,span').css('fontSize', '12px');
    
        // 6.交集选择器:
        $('a.as').css('textDecoration', 'none');
    </script>

层级选择器:

层级选择器指父级选择器、父代选择器、子级选择器、后代选择器等。

	<script>
        // 1.后代选择器:选中类名为box的div里面所有的p标签
        $('.box p').css('color', 'blue');
    
        // 2.子代选择器:选中类名为box的div的亲子p标签
        $('.box > p').css('color', 'red');
    </script>

属性选择器:

属性选择器指通过[‘属性’]表达式进行选择:

	<script>
        // 1.选中具有class属性的标签:
        $('[class]').css('color', 'red');
    
        // 2.选中具有class属性,且class值为li的标签:
        $('[class="li"]').css('fontSize', '30px');
    
        // 3.选中具有href属性,但href值不为#的标签:
        $("[href!='#']").css('textDecoration', 'none');
    
        // 4.选中具有href属性,且href值以.com结尾的标签:
        $("[href$='.com']").css('display', 'none')
    </script>

筛选选择器

筛选选择器指的是通过特殊的字符进行筛选:

	<script>
        // 1.选中一组li中的第一个li:
        $('li:first').css('color', 'yellow');
    
        // 2.选中一组li中的最后一个li:
        $('li:last').css('color', 'red');
    
        // 3.选中索引为3的li:
        $('li:eq(3)').css('color', 'pink');
        $('li').eq(3).css('fontSize', '28px');
    
        // 4.选中索引为奇数的li:
        $('li:odd').css('backgroundColor', 'skyblue');
    
        // 5.选中索引为偶数的li:
        $('li:even').css('backgroundColor', 'gray');
    </script>

节点选择器:

节点选择器指类似于DOM中节点的操作,具体如下:

	<script>
        // 1.选中类名为li2的li的父级元素:特别提醒:当某个元素有多层父代元素时parent()括号中可以传入特指的某个父代元素的选择器
        $('li.li2').parent().css('listStyle', 'none');
    
        // 2.选中类名为ul2的ul中的亲子级li:
        $('.ul2').children().css('listStyle', 'decimal');
    
        // 3.找到div里面所有的span(后代选择器): 
        $('div').find('span').css('color', 'orange');
    
        // 4.找到类名为ul2的ul的所有兄弟元素:特别提醒:siblings()括号中可以传入要查找的具体元素的选择器
        $('ul.ul2').siblings('span').css('fontSize', '30px');
    
        // 5.查找id为lia元素的后面所有兄弟元素:
        $('#lia').nextAll().css('color', 'blue');
    
        // 6.查找类名为li2元素的前面所有兄弟元素:
        $('.li2').prevAll().css('color', 'skyblue');
    </script>

相同元素多次获取性能损耗问题:

在jQuery中同样的,如果在一个作用域中多次使用$(元素),此时会造成性能损耗,建议和原生javascript中一样将获取的元素通过变量本地化,如:

	$('div').show();
	$('div').hide();
	//可以将$('div')用一个变量接收,使用时直接用变量即可,因此上面的代码可优化为:
	$div = $('div');
	$div.show();
	$div.hide();

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者 删除。
笔者:苦海

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦海123

快乐每一天!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值