jQuery选择器
基本筛选选择器
$(":first")
匹配第一个元素$(":last")
匹配最后一个元素$(":not(select)")
去掉不匹配的选择器元素$(":eq(index)")
在匹配的集合中选择索引值为index的元素$(":gt(index)")
选择匹配集合中所有大于给定index(索引值)的元素$(":even")
选择索引值为偶数的元素,从0开始计数$(":odd")
选择索引值为奇数的元素,从0开始计数$(":lt(index)")
选择匹配集合中所有索引值小于给定index参数的元素$(":header")
选择所有标题元素,像h1,h2,h3等$("lang(language)")
选择指定语言的所有元素$(":root")
选择该文档的根元素$(":animated")
选择所有正在执行动画效果的元素
<div class="left">
<div class="div">
<p>div:first</p>
<p>:even</p>
</div>
<div class="div">
<p>:odd</p>
</div>
<div class="div">
<p>:even</p>
</div>
<div class="div">
<p>:odd</p>
</div>
<div class="div">
<p>:even</p>
</div>
<div class="div">
<p>div:last</p>
<p>:odd</p>
</div>
</div>
<script type="text/javascript">
//找到第一个div
$(".div:first").css("color", "#CD00CD");
</script>
<script type="text/javascript">
//找到最后一个div
$(".div:last").css("color", "#CD00CD");
</script>
<script type="text/javascript">
//:even 选择所引值为偶数的元素,从 0 开始计数
$(".div:even").css("border", "3px groove red");
</script>
<script type="text/javascript">
//:odd 选择所引值为奇数的元素,从 0 开始计数
$(".div:odd").css("border", "3px groove blue");
</script>
demo
链接描述
内容筛选选择器
$(":contain(text)")
选择所有包含指定文本的元素$(":parent")
选择所有含有子元素或者文本的元素$(":empty")
选择所有没有子元素的元素(包括文本节点)$(":has(selector)")
选择元素中至少包含指定选择器的元素
图片描述
<div class="left">
<div class="div">
<p>contains</p>
</div>
<div class="div">
<p>:contains</p>
</div>
<div class="div">
<p>
<span>:has</span>
</p>
</div>
<div class="div">
<p>:contains</p>
</div>
</div>
<script type="text/javascript">
//查找所有class='div'中DOM元素中包含"contains"的元素节点
//并且设置颜色
$(".div:contains(':contains')").css("color", "#CD00CD");
</script>
<script type="text/javascript">
//查找所有class='div'中DOM元素中包含"span"的元素节点
//并且设置颜色
$(".div:has(span)").css("color", "blue");
</script>
<h3>:parent/:empty</h3>
<div class="left">
<div class="aaron">
<a>:parent</a>
</div>
<div class="aaron">
<a>:parent</a>
</div>
<div class="aaron">
<a>:parent</a>
</div>
<div class="aaron">
<a></a>
</div>
</div>
<script type="text/javascript">
//选择所有包含子元素或者文本的a元素
//增加一个蓝色的边框
$("a:parent").css("border", "3px groove blue");
</script>
<script type="text/javascript">
//找到a元素下面的所有空节点(没有子元素)
//增加一段文本与边框
$("a:empty").text(":empty").css("border", "3px groove red");
</script>
demo
子元素筛选选择器
$(:first-chid) //选择所有父元素级下的第一个子元素
$(:last-child) //选择所有父元素下的最后一个元素
$(:only-child) //如果某元素是其父元素的唯一子元素,那么它就会被选中
$(:nth-child) //选择他们所有父元素的第n个元素
$(:nth-last-child) //选择他们所有父元素的第n个元素,计数从最后一个元素到第一个
<h2>子元素筛选选择器</h2>
<h3>:first-child、:last-child、:only-child</h3>
<div class="left first-div">
<div class="div">
<a>:first-child</a>
<a>第二个元素</a>
<a>:last-child</a>
</div>
<div class="div">
<a>:first-child</a>
</div>
<div class="div">
<a>:first-child</a>
<a>第二个元素</a>
<a>:last-child</a>
</div>
</div>
<script type="text/javascript">
//查找class="first-div"下的第一个a元素
//针对所有父级下的第一个
$(".first-div a:fist-child").css("color", "#CD00CD");
</script>
<script type="text/javascript">
//查找class="first-div"下的最后一个a元素
//针对所有父级下的最后一个
//如果只有一个元素的话,last也是第一个元素
$(".first-div a:last-child").css("color", "red");
</script>
<script type="text/javascript">
//查找class="first-div"下的只有一个子元素的a元素
$(".first-div a:only-child").css("color", "blue");
</script>
<h3>:nth-child、:nth-last-child</h3>
<div class="left last-div">
<div class="div">
<a>:first-child</a>
<a>第二个元素</a>
<a>第三个元素</a>
<a>:last-child</a>
</div>
<div class="div">
<a>:first-child</a>
<a>第二个元素</a>
</div>
<div class="div">
<a>:first-child</a>
<a>第二个元素</a>
<a>第三个元素</a>
<a>:last-child</a>
</div>
</div>
<script type="text/javascript">
//查找class="last-div"下的第二个a元素
$(".last-div a:nth-child(2)").css("color", "#CD00CD");
</script>
<script type="text/javascript">
//查找class="last-div"下的倒数第二个a元素
$(".last-div a:nth-last-child(2)").css("color", "red");
</script>
表单元素选择器
$(:input)
选择所有input,textarea,select和button元素$(:text)
匹配所有文本框$(:password)
匹配所有密码框$(:radio)
匹配所有单选按钮$(:checkbox)
匹配所有复选框$(:submit)
匹配所有提交按钮$(:image)
匹配所有图像域$(:reset)
匹配所有重置按钮$(:button)
匹配所有按钮$(:file)
匹配所有按钮
<h2>子元素筛选选择器</h2>
<h3>input、text、password、radio、checkbox</h3>
<h3>submit、image、reset、button、file</h3>
<div class="left first-div">
<form>
<input type="text" value="text类型"/>
<input type="password" value="password"/>
<input type="radio"/>
<input type="checkbox"/>
<input type="submit" />
<input type="image" />
<input type="reset" />
<input type="button" value="Button" />
<input type="file" />
</form>
</div>
<script type="text/javascript">
//查找所有 input, textarea, select 和 button 元素
//:input 选择器基本上选择所有表单控件
$(':input').css("border", "1px groove red");
</script>
<script type="text/javascript">
//匹配所有input元素中类型为text的input元素
$('input:text').css("background", "#A2CD5A");
</script>
<script type="text/javascript">
//匹配所有input元素中类型为password的input元素
$('input:password').css("background", "yellow");
</script>
<script type="text/javascript">
//匹配所有input元素中的单选按钮,并选中
$('input:radio').attr('checked','true');
</script>
<script type="text/javascript">
//匹配所有input元素中的复选按钮,并选中
$('input:checkbox').attr('checked','true');
</script>
<script type="text/javascript">
//匹配所有input元素中的提交的按钮,修改背景颜色
$('input:submit').css("background", "#C6E2FF");
</script>
<script type="text/javascript">
//匹配所有input元素中的图像类型的元素,修改背景颜色
$('input:image').css("background", "#F4A460");
</script>
<script type="text/javascript">
//匹配所有input元素中类型为按钮的元素
$('input:button').css("background", "red");
</script>
<script type="text/javascript">
//匹配所有input元素中类型为file的元素
$('input:file').css("background", "#CD1076");
</script>
[1]: http://codepen.io/i-summer/pen/EWjZLv
[2]: http://codepen.io/i-summer/details/RpPpKX/
[3]: /img/bVJImf