2.1 jQuery 选择器的概念
1. CSS 选择器
常用 CSS 选择器(几乎所有浏览器都支持的 CSS 选择器)
标签选择器、ID选择器、类选择器、 群组选择器(多个选择器组合)、后代选择器(写法: E F{ })、通配选择器(写法: *{ });
其他 CSS 选择器
伪类选择器(E:PseudoElements{})、子类选择器(E>F{})、邻近选择器(E+F{})和属性选择器(E[attr]{})。主流浏览器并非支持所有的 CSS 选择器。
1. jQuery 选择器
jQuery 选择器拥有跨浏览器兼容性。
2.2 jQuery 选择器的优势
1. 简洁
$() 为多种 javascript 库作为选择器函数使用。
2. 完善的事件处理机制
jQuery 在获取网页中并不存在的元素不会报错。
$(”)获取的永远是对象,即使网页中并不存在该元素。因而检查某元素在网页是否存在时,不可使用
if ($("#a")) {
}
应该根据获取元素的长度来判断,
if ($("#a").length > 0) {
}
或者转化为 DOM 对象
if ($("#a")[0]) {
}
2.3 jQuery 选择器
2.3.1 基本选择器
$("#ID"), $(".class"), $("tagName"), $("*"), 群组选择器
2.3.2 层次选择器
$("ancestor descendant"), $("parent> child"), $("prex + next"), $("prex ~ siblings")。
2.3.3 过滤选择器
…
2.3.4 表单选择器
…
2.5 选择器中的注意事项
2.5.1 选择器带有特殊符号, 需要转义
$("#id#b") 换成 $("#id\\#b")
2.5.2 选择器带有空格
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="../jquery-1.8.3.js"></script>
</head>
<body>
<div class="div">
<div style="display:none;"></div>
<div style="display:none;"></div>
<div style="display:none;"></div>
<div class="div" style="display:none;"></div>
</div>
<div class="div">
<div class="div" style="display:none;"></div>
<div class="div" style="display:none;"></div>
</div>
</body>
<script>
$(function() {
var $a = $(".div :hidden");
var $b = $(".div:hidden");
var a_len = $a.length; // 6
var b_len = $b.length; // 3
alert(a_len);
alert(b_len);
});
</script>
</html>
//后代选择器
var $a = $(".div :hidden"); // 选取 class 为 div 的元素里面的隐藏元素。
//过滤选择器
var $b = $(".div:hidden"); // 选取隐藏的 class 为 div 的元素。