$(“#xxxx”)获取的永远是对象,即使网页上没有此元素,如果要检查jQuery某个元素在网页上是否存在的话,就要根据获取元素的长度来判断,比如:
if("#XXXX").leng>0{ }
JQuery选择器分别为基本选择器、层次选择器、过滤选择器和表单选择器
1. 基本选择器
$(“#id”):id选择器
$(“.className”):类名选择器
$(“element”):元素选择器
$(“xxx,xxxx,xxx”):混合选择器
2. 层次选择器
通过DOM元素之间的层次关系来获取特定元素,例如后代元素,子元素,相邻元素和同辈元素等等。
$(“x y”):选取x元素里的所有y元素(后代),$(“div span”):选取div元素里所有span元素
$(“parent>child”):选取parent元素的子元素,$(“div span”):选取div元素下,元素名为span的子元素
$(“prev+next'”):选取紧接在prev元素后的next元素,$(“.one+div”)获取class名为one的下一个div同辈元素
$(“prev~siblings”):选取prev元素之后的所有silbings同辈元素
其中最后两个选择器,分别可以用:next()和nextAll()方法代替
比如:
$("div").next("span")=$("div+span")
3. 过滤选择器
主要通过特点的过滤规则来筛选出所需要的DOM元素,以冒号开头,和css中的伪类选择器一样。
:first 选取第一个元素,$(“div:first”)选取div元素中的第一个div元素
:last 选取最后一个元素,$(“div:last”)选取div元素中的最后一个div元素
:not(selector) 去除所有与给定选择器匹配的元素,$(“input:not(.o)”)选取类名不是o的input元素
:even 选取索引是偶数的所有元素,$(“div:even”)选取索引是偶数的div元素,从0开始
:odd 选取索引是奇数的所有元素,$(“div:odd”)选取索引是奇数的div元素,从0开始
:eq(index) 选取索引等于index的元素,$(“input:eq(1)”)选取索引为1的input元素
:gt(index) 选取索引大于index的元素,$(“input:gt(1)”)选取索引大于1的input元素
:lt(index) 选取索引小于index的元素,$(“input:lt(1)”)选取索引小于1的input元素
:header 选取索引标题元素
:animated 选取当前正在执行动画的所有元素,$(“div:animated”)选取正在执行动画的div元素
:focus 选取当前获取焦点的元素,$(“:focus”)
4. 内容过滤选择器
内容过滤器的过滤规则主要体现在他所包含的子元素或文本内容上。
:contains(text) 选取含有文本内容为text的元素,$(“div:contains(“我”)”)选取在div元素中有“我”的元素
:empty 选取不包含子元素或者文本的空元素,$(“div:empty”)选取在div元素中没有子元素的元素
:has(selector) 选取含有选择器所匹配的元素的元素,$(“div:has(p)”)选取含有p元素的div元素
:parent 选取含有子元素或者文本的元素,$(“div:parent”)选取拥有子元素的
元素
5. 可见性过滤选择器
根据元素的可见和不可见状态来选择相应的元素。
:hidden 选取所有不可见的元素
:visible 选取所有可见的元素
6. 属性过滤选择器
通过元素的属性来获取相应的元素。
[attribute]:选取拥有此属性的元素,$(“div[id]”)选取div中有id属性的div元素
[attribute=value]:选取属性值为value的元素,$(“div[title=test]”)选取在div中title属性值为test的div元素
[attribute!=value]:选取属性值不等于value的元素,$(“div[title!=test]”)选取title不等于test的div元素,没有title属性的div元素也会被选
[attribute^=value]:选取属性值以value开始的元素
[attribute$=value]:选取属性值以value结束的元素
[attribute*=value]:选取属性值含有value的元素
7. 子元素过滤选择器
:nth-child 选取每个父元素下的第index个子元素或者奇偶元素,从1开始计算
:first-child 选取每个父元素的第一个子元素
:lat-child 选取每个父元素下的最后一个子元素
:only-child 如果某个元素是他父元素的唯一的子元素,那么他会被选取
8. 表单对象属性过滤器
对所选择的表单元素进行过滤
:enabled 选取所有可用元素,$(“#form1:enabled”)选取id为form1的表单内所有可用元素
:disabled 选取所有不可用元素,$(“#form1:disabled”)选取id为form1的表单内所有不可用的元素
:checked 选取所有被选中的元素(单选,复选框),$(“input:checked”)选取所有被选中的input元素
:selected 选取所有被选中的下拉列表元素,$(“select option:selected”)选取所有被选中的选项元素