jquery之选择器

1.基本选择器

id
class
元素
*
复合元素选取

console.log($(".mydiv"));
console.log($("*"));             //获取所有包括html, head, meta, title, style, script, script, body, div等所有
console.log($("#mydiv,p"));

jquery对象如何转化为js对象
console.log($("#mydiv")); // init [div#mydiv, context: document, selector: "#mydiv"] console.log($("#mydiv")[0]); // <div id="mydiv">lorem</div>
隐式迭代器
jquery对象返回的是一个集合,直接使用,jquery代码可以进行隐式迭代器(不用再循环遍历,因为已经默认遍历了内部dom)

2.层级选择器

ancestor descendant
parent > child
prev + next
prev ~ siblings

console.log($("ul li"));    //所有子代元素(含孙子元素)
console.log($("ul>li"));    //仅包含子元素
console.log($(".two+li"));  // +代表只有下一个同级元素
console.log($(".two~li"));  // ~代表之后的所有元素

3.基本筛选器

:first
:not(selector)
:even
:odd
:eq(index)
:gt(index)
:lang1.9+
:last
:lt(index)
:header
:animated
:focus
:root 1.9+
:target 1.9+

console.log($("ul>li:first"));
console.log($("ul>li:last"));
console.log($("ul>li:not(.two)"));
console.log($("ul>li:even"));  //索引的偶数获取
console.log($("ul>li:odd"));   //奇
console.log($("ul>li:eq(1)")); //按照当前索引来获取
console.log($("ul>li:gt(1)"));  //获取比匹配元素索引大的所有元素
console.log($("ul>li:lt(1)"));  //获取比匹配元素索引小的所有元素
console.log($(":header"));      //获取所有的h标签
console.log($(":root"));      //直接是html    init [html, prevObject: init(1), context: document, selector: ":root"]

4.内容选择器

:contains(text)
:empty
:has(selector)
:parent

console.log($("div:contains('是')"));//包含某个内容的元素
console.log($("div:empty"));           //元素是空(也不能有空格,回车)
console.log($("ul:has(.two)"));      //获取包含某个元素的父元素
console.log($("li:parent"));          //匹配含有子元素或者文本的元素

5.可见性

:hidden
:visible

console.log($(".myp:visible"));
console.log($(".myp:hidden"));

6.属性

[attribute]
[attribute=value]
[attribute!=value]
[attribute^=value] 以什么开头
[attribute$=value] 以什么结尾
[attribute*=value] 包含什么
[attrSel1][attrSel2][attrSelN]

console.log($("div[id]"));
console.log($("div[id][class]"));//需要同时满足多个条件时使用。
console.log($("div[id='mydiv'][class='mydiv']"));
console.log($("div[id!='mydiv']"));
console.log($("div[id^='m']"));//获取的属性值以什么开头
console.log($("div[id$='v']"));//获取的属性值以什么结尾
console.log($("div[id*='d']"));//获取的属性值包含什么

7.子元素

:first-child
:first-of-type1.9+
:last-child
:last-of-type1.9+
:nth-child
:nth-last-child()1.9+
:nth-last-of-type()1.9+
:nth-of-type()1.9+
:only-child
:only-of-type1.9+
first-child 与 first-of-type
前者是为每个父级元素匹配第一个子元素(可含多个)
后者是取同类型元素的第一个(可含多个)

console.log($("ul>li:first-child"));   //为每个父级元素匹配第一个子元素(可含多个)
console.log($("span:first-of-type"));   //取同类型元素的第一个(可含多个)
console.log($("li:nth-child(3)"));   //从1开始的第几个元素
console.log($("li:nth-last-of-type(3)"));   //从后往前
console.log($("ul>li:only-child"));//匹配的元素必须是父元素的唯一子元素

8.表单

:input 查找所有的input元素
:text
:password
:radio
:checkbox
:submit
:image
:reset
:button
:file

console.log($("input:checked"));
console.log($("input:file"));

9.表单对象属性

:enabled
:disabled
:checked
:selected

console.log($("input:disabled"));
console.log($("input:enabled"));
console.log($("input:checked"));//获取单选、多选框中被选择的元素
console.log($("select option:selected"));//匹配select被选择的下拉的option

10.混淆选择器

低版本没有
$.escapeSelector(selector)3.0+
给class类名称有.的进行转义编码,使他能正常显示为.classname

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值