jQuery是什么
JQuery是JavaaScript的一个库,就是一个JS文件,存放在很多封装好的JS的函数,这些函数能够实现JS的一些操作,这样我们就可以简单高效的使用封装好的这些功能。
jQuery 获取元素
使用jQuery的第一步:将一个选择表达式,放进构造函数jQuery()(简写为$),然后得到被选中的元素
选择表达式可以是CSS选择器也可以是jQuery特有表达式,jQuery还提供各种强大的过滤器,对结果集进行筛选
选择器
$("选择器") //里面选择器直接写css选择器即可,注意要加引号(单引号或者双引号都可以)
$('#id') //ID选择器 选择指定id的元素
$('*') //全选选择器 选择所有元素
$('.class') //类选择器 选择同一类class的元素
$('div') //标签选择器 选择同一类标签的所有元素
$('div,p,li') //并集选择器 选择所列标签的所以元素
$('li.class') //交集选择器 需要同时满足这两个条件的元素,注意中间没有空格
$('ul>li') //子代选择器 使用>获取亲儿子层级的元素
$('ul li') //后代选择器 使用空格获取ul下的所以li元素,包括孙子等
特有表达式
$('a:first') //选择网页中第一个a元素
$('tr:odd') //选择表格的奇数行
$('li:odd') //选择li元素中索引号为奇数的元素
$('li:even') //选择li元素中索引号为偶数的元素
$('#myForm :input') // 选择表单中的input元素
$('div:visible') //选择可见的div元素
$('div:gt(2)') // 选择所有的div元素,除了前三个
$('div:animated') // 选择当前处于动画状态的div元素
改变结果集
$('li').parent(); //选择父级元素
$('ul').children('li'); //相当于$('ul>li'),最近一级(亲儿子)
$('ul').find('li'); //相当于$('ul li'),后代选择器
$('.first').sibling('li'); //选择兄弟节点,不包含自己本身
$('div').has('p'); // 选择包含p元素的div元素
$('div').not('.myClass'); //选择class不等于myClass的div元素
$('div').filter('.myClass'); //选择class等于myClass的div元素
$('div').first(); //选择第1个div元素
$('div').eq(5); //选择第6个div元素
jQuery 链式操作
jQuery链式操作: 选中网页元素以后,可以对它进行一系列操作,并且所有操作可以连接在一起,以链条的形式写出来,链式操作可节省很多代码量。
如
$('div').find('span').eq(1).html('Hello');
jQuery 创建及操作网页元素
创建网页元素
直接将新元素放进构造函数jQuery($)中:
$('<div>Hello</div>');
复制、删除和清空
复制元素:.clone()
删除元素: .remove()和.detach() 两者区别,前者不保留被删除元素的事件,后者保留,有利于重新插入文档时使用。
清空元素内容(但是不删除该元素 : .empty()
取值和赋值
jQuery使用同一个函数,来完成取值(getter)和赋值(setter),到底是取值还是赋值,由函数的参数决定。
$('h1').html(); //html()没有参数,表示取出h1的值
$('h1').html('Hello'); //html()有参数Hello,表示对h1进行赋值
注意:
若结果集包含多个元素,赋值时,将对其中所有元素赋值;
取值时,则是只取出第一个元素的值
(text()例外,它取出所有元素的text内容)
jQuery 移动元素
移动元素有两种方法:
(1)移动该元素到达需要的位置
(2)移动其他元素,让该元素到达需要位置
- insertAfter()
$('div').insertAfter($('p')); //把div元素移动p元素后面
- .after()
$('p').after($('div')) // 将 p 移动到 div 前面
两种方法效果相同,重大差别在于:返回的元素不一样。第一种方法返回div元素,第二种方法返回p元素
jQuery 修改元素的属性
jquery使用attr()来获取和设置元素属性
attr:attribute(属性)的缩写,是js中setAttribute()和getAttribute()的简化
最基本常用的用法:
$("img").attr("src","img/a.jpg");
$("img").attr("width","100px");