学习廖雪峰老师JS教程的学习笔记
jQuery优点:
- 消除浏览器差异
- 简洁的操作DOM的方法
- 轻松实现动画、修改CSS等各种操作
注意:目前jQuery有1.x和2.x两个主要版本,区别在于2.x移除了对古老的IE 6、7、8的支持。
选择器
jQuery的选择器类似$('#dom-id'),大大简化了DOM操作中的document.getElementById('dom-id')类似操作。
jQuery对象
jQuery对象类似数组,它的每个元素都是一个引用了DOM节点的对象。类似[<div id="abc">...</div>],如果为空则为[]。
所以jQuery选择器返回的jQuery对象不会为undefined或者null,不必判断对象是否为undefined。
按ID查找
查找某个DOM的id属性,如:$('#aaa')。
注意:查找标识以#开头,返回的对象是jQuery对象。
jQuery对象和DOM对象之间的互相转化:
var div = $('#abc'); // jQuery对象
var divDom = div.get(0); // 假设存在div,获取第1个DOM元素
var another = $(divDom); // 重新把DOM包装为jQuery对象
按tag查找
按tag也就是html DOM元素标识名查找,不需要添加额外标识,如:$('p')。
按class查找
按class查找需要在class名称前面加上.,如:$('.red')。
多个class的直接填写相应的class名称,如:$('.red.green')。
按属性查找
var email = $('[name=email]'); // 找出<??? name="email">
var passwordInput = $('[type=password]'); // 找出<??? type="password">
var a = $('[items="A B"]'); // 找出<??? items="A B">
当属性的值包含空格等特殊字符时,需要用双引号括起来。
前缀查找,如:$('[name^=icon]'),或者后缀查找,如:$('[name$=with]')。
组合查找
组合查找就是把上述简单选择器组合起来使用。
多项选择器
多项选择器就是把多个选择器用,组合起来一块选,如:$('p.red,p.green')。
层级选择器(Descendant Selector)
具有层级关系的DOM元素,使用$('ancestor descendant')来选择, 层级之前使用空格隔开。
子选择器(Child Selector)
子选择器$('parent>child')类似层级选择器,但是限定了层级关系必须是父子关系,相互关系必须是直属。
过滤器(Filter)
$('ul.lang li'); // 选出JavaScript、Python和Lua 3个节点
$('ul.lang li:first-child'); // 仅选出JavaScript
$('ul.lang li:last-child'); // 仅选出Lua
$('ul.lang li:nth-child(2)'); // 选出第N个元素,N从1开始
$('ul.lang li:nth-child(even)'); // 选出序号为偶数的元素
$('ul.lang li:nth-child(odd)'); // 选出序号为奇数的元素
表单相关
针对表单元素,jQuery还有特殊的选择器。如::input、:checkbox、:radio、:checked等。
查找
使用find()方法查找,具体查找条件与选择器编写方式相同。
使用parent()方法向上查找节点。
使用next()和prev()方法,查找同级节点。
过滤
使用filter()方法可以过滤掉不符合选择器条件的节点,或者传入一个函数,注意函数内部的this被绑定为DOM对象。
来源:CSDN
作者:重瞳Tech
链接:https://blog.csdn.net/btboyhappy/article/details/81705480