前端基础-jQuery选择器

第2章 选择器

jQuery选择器是jQuery为我们提供的一组方法,让我们更加方便的获取到页面中的元素。注意:jQuery选择器返回的是jQuery对象。

jQuery选择器有很多,基本兼容了CSS所有的选择器,并且jQuery还添加了很多更加复杂的选择器。(查看jQuery文档)

jQuery选择器虽然很多,但是选择器之间可以相互替代,就是说获取一个元素,你会有很多种方法获取到。所以我们平时真正能用到的只是少数的最常用的选择器。

2.1 jQuery基本选择器(重点)

名称 用法 描述
ID选择器 $(’#id’); 获取指定ID的元素
类选择器 $(’.class’); 获取同一类class的元素
标签选择器 $(‘div’); 获取同一类标签的所有元素
并集选择器 $(‘div,p,li’); 使用逗号分隔,只要符合条件之一就可。
交集选择器 $(‘div.redClass’); 获取class为redClass的div元素
  • 总结:跟css的选择器用法一模一样。

语法模板: 00-语法模板.html(需要包含jquery.js)


<script type="text/javascript">
	//常用选择器
	//根据id获取元素 获取到的结果:类数组对象
	console.log( $('#div0') );
	console.log( $('#div0')[0] );
	//根据class获取元素
	console.log( $('.div_1') );
	//根据标签名称来获取元素
	console.log( $('div') );
	//根据属性获取元素
	console.log( $('input[name=username]') );
	//根据表单元素属性获取元素
	console.log( $(':checked') );
</script>

2.2 jQuery层级选择器(重点)

名称 用法 描述
子代选择器 $(‘ul > li’); 使用-号,获取儿子层级的元素,注意,并不会获取孙子层级的元素
后代选择器 $(‘ul li’); 使用空格,代表后代选择器,获取ul下的所有li元素,包括孙子等
  • 跟CSS的选择器一模一样。

2.3 jQuery过滤选择器(了解为主)

  • 这类选择器都带冒号:
名称 用法 描述
:eq(index) $(‘li:eq(2)’).css(‘color’, ‘red’); 获取到的li元素中,选择索引号为2的元素,索引号index从0开始。
:odd $(‘li:odd’).css(‘color’, ‘red’); 获取到的li元素中,选择索引号为奇数的元素
:even $(‘li:even’).css(‘color’, ‘red’); 获取到的li元素中,选择索引号为偶数的元素

2.4 jQuery筛选方法(重点)

  • 筛选选择器的功能与过滤选择器有点类似,但是用法不一样,筛选选择器主要是方法。
名称 用法 描述
children(selector) $(‘ul’).children(‘li’) 相当于$(‘ul-li’),子类选择器
find(selector) $(‘ul’).find(‘li’); 相当于$(‘ul li’),后代选择器
siblings(selector) $(’#first’).siblings(‘li’); 查找兄弟节点,不包括自己本身。
parent() $(’#first’).parent(); 查找父亲
eq(index) $(‘li’).eq(2); 相当于$(‘li:eq(2)’),index从0开始
next() $(‘li’).next() 找下一个兄弟
prev() $(‘li’).prev() 找上一次兄弟
closest $(‘li’).closest(‘ul’) 找最近一个祖先元素

语法模板: 00-语法模板.html(需要包含jquery.js)

<script type="text/javascript">
    //常用筛选方法
    //获取爱好对应的div
    var hobby = $('#hobby');
    //获取 hobby 父元素
    console.log( $('#hobby').parent() );
    //获取 hobby 子元素
    console.log( $('#hobby').children() );
    //获取 hobby 最近的祖先元素
    console.log( $('#hobby').closest('form') );
    //获取 hobby 所有后代元素
    console.log( $('#hobby').find('input') );
    //获取 hobby 下一个兄弟元素
    console.log( $('#hobby').next() );
    //获取 hobby 前一个兄弟元素
    console.log( $('#hobby').prev() );
    //获取 hobby 所有兄弟元素
    console.log( $('#hobby').siblings() );
</script>
发布了1800 篇原创文章 · 获赞 1922 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/weixin_42528266/article/details/105115126