1.1 Jquery它是javascript的一个轻量级框架,对javascript进行封装,它提供了很多方便的选择器。供你快速定位到需要操作的元素上面去。还提供了很多便捷的方法
1. 获取元素
JS:document.getElementById()系列;
JQ:$(“#id”);
$()à工厂函数作用:1.获取DOM元素2.将DOM对象转为jquery对象
2. DOM对象和jQuery对象
(1) DOM对象:直接使用JavaScript获取的节点对象
varobjDOM=document.getElementById("title");
varobjHTML=objDOM.innerHTML;
(2) jQuery对象:使用jQuery包装DOM对象后产生的对象,它能够使用jQuery中的方法
$("#title").html( );等同于
document.getElementById("title").innerHTML
DOM对象和jQuery对象分别拥有一套独立的方法,不能混用
(3) DOM对象转jQuery对象
var txtName=document.getElementById("txtName");
//jquery变量的命名规则变量名添加$
var $txtName =$(txtName);
(4) jQuery对象是一个类似数组的对象,可以通过[index]的方法得到相应的DOM对象
通过get(index)方法得到相应的DOM对象
var$txtName =$("#txtName");
var txtName =$txtName.get(0);
注意:JQ对象只能操作JQ里面的属性和方法
JS对象只能操作JS里面的属性和方法。
1.2 jquery选择器
i.基本选择器
标签选择器 $("h2" )选取所有h2元素
类选择器 $(" .title")选取所有class为title的元素
ID选择器 $("#title")选取id为title的元素
并集选择器$("div,p,.title" )选取所有div、p和拥有class为title的元素
全局选择器$("*" )选取所有元素
i. 层次选择器 $()
后代选择器 $("#menuspan" )选取#menu下的<span>元素
子选择器$(" #menu>span" )选取#menu的子元素<span>
相邻元素选择器 $(" h2+dl " )选取紧邻<h2>元素之后的同辈元素<dl>
同辈元素选择器 $(" h2~dl " )选取<h2>元素之后所有的同辈元素<dl>
i. 属性选择器
[attribute] $(" [href]" )选取含有href属性的元素
[attribute=value] $(" [href ='#']" )选取href属性值为“#”的元素
[attribute !=value] $(" [href !='#']" )选取href属性值不为“#”的元素
[attribute^=value] $(" [href^='en']" )选取href属性值以en开头的元素
[attribute$=value] $(" [href$='.jpg']" )选取href属性值以.jpg结尾的元素
[attribute*=value] $(" [href* ='txt']" )选取href属性值中含有txt的元素
² 基本过滤选择器
语法 | 描述 | 示例 |
:eq(index) | 选取索引等于index的元素(index从0开始) | $("li:eq(1)" )选取索引等于1的<li>元素 |
:gt(index) | 选取索引大于index的元素(index从0开始) | $(" li:gt(1)" )选取索引大于1的<li>元素(注:大于1,不包括1) |
:lt(index) | 选取索引小于index的元素(index从0开始) | $(“li:lt(1)” )选取索引小于1的<li>元素(注:小于1,不包括1) |
:header | 选取所有标题元素,如h1~h6 | $(":header" )选取网页中所有标题元素 |
:focus | 选取当前获取焦点的元素 | $(":focus" )选取当前获取焦点的元素 |
:animated | 选择所有动画 | $(":animated" )选取当前所有动画元素 |
语法 | 描述 | 示例 |
:first | 选取第一个元素 | $(" li:first" )选取所有<li>元素中的第一个<li>元素 |
:last | 选取最后一个元素 | $(" li:last" )选取所有<li>元素中的最后一个<li>元素 |
:not(selector) | 选取去除所有与给定选择器匹配的元素 | $(" li:not(.three)" )选取class不是three的元素 |
:even | 选取索引是偶数的所有元素(index从0开始) | $(" li:even" )选取索引是偶数的所有<li>元素 |
:odd | 选取索引是奇数的所有元素(index从0开始) | $(" li:odd" )选取索引是奇数的所有<li>元素 |
² 可见性过滤选择器
语法 | 描述 | 示例 |
:visible | 选取所有可见的元素 | $("li:visible" )选取所有可见的元素 |
:hidden | 选取所有隐藏的元素 | $(":hidden" ) 选取所有隐藏的元素 |
1.3 jQuery选择器注意事项
1 特殊符号的转义
<div id="id#a">aa</div>
<div id="id[2]">cc</div>
获取这两个元素的选择器
错误的
$("#id#a");
$("#id[2]");
正确的
$("#id\\#a");
$("#id\\[2\\]");
2 选择器中的空格
选择器的书写规范很严格,多一个空格或少一个空格,都会影响选择器的效果
选取class为“test”的元素内部的隐藏元素
var $t_a = $(".test :hidden");//带空格的jQuery选择器
选取隐藏的class为“test”的元素
var $t_b = $(".test:hidden"); //不带空格的jQuery选择器à交集选择器
不带空格获取的是第二个带空格获取的是第一个