.1 jQuery选择器是什么?

几乎所有主流浏览器都支持常用的CSS选择器,如元素选择器、类选择器、ID选择器、属性选择器等。此外,CSS中还有伪类选择器(如:hover、:active等)、子选择器(E>F {CssRules})、临近选择器(E+F{CssRules})和属性选择器(E[attr ]{CssRules})等。遗憾的是,主流浏览器并非完全支持所有的CSS选择器。

2.2 jQuery选择器的优势?

jQuery选择器提供了一种简洁、易用的API,使得开发者能够快速地为网页元素添加样式和行为。同时,jQuery还提供了许多实用的功能,如事件处理、动画效果等,进一步简化了Web开发过程。

2.3 jQuery选择器的分类?

jQuery选择器分为基本选择器、层次选择器、过滤选择器和表单选择器。

2.3.1 基本选择器

基本选择器是jQuery中最常用的选择器,也是最简单的选择器,它通过元素id、class和标签名等来查找DOM元素。例如:

```javascript

$("#myId") // 通过ID查找元素

$(".myClass") // 通过类名查找元素

$("p") // 通过标签名查找元素

```

2.3.2 层次选择器

如果想通过DOM元素之间的层次关系来获取特定元素,例如后代元素、子元素、相邻元素和兄弟元素等,那么层次选择器是一个非常好的选择。例如:

```javascript

$("#parent > #child") // 查找#parent的子元素#child

$("#parent").children() // 查找#parent的所有子元素

$("ul li").prev() // 查找ul中所有li的前一个兄弟元素

```

2.3.3 过滤选择器

过滤选择器主要是通过特定的过滤规则来筛选出所需的DOM元素,过滤规则与CSS的伪类选择器语法相同,即选择器都以一个冒号(:)开头。按照不同的过滤规则,过滤选择可以分为基本过滤、内容过滤、可见性过滤、属性过滤、子元素过滤和表单对象属性过滤选择器。例如:

```javascript

// 基本过滤

$("input[type='text']") // 查找所有类型为text的input元素

$("a[href]") // 查找所有包含href属性的a元素

// 内容过滤

$(":contains('Hello')") // 查找包含'Hello'文本的元素

$(":has(img)") // 查找包含img子元素的元素

// 可见性过滤

$(":visible") // 查找所有可见的元素(包括隐藏的子元素)

$(":hidden") // 查找所有隐藏的元素(不包括隐藏的子元素)

```

.3.4 表单选择器

为了方便用户操作表单,jQuery引入了表单选择器。

2.5 选择器中的一些注意事项

2.5.1 含有特殊符号的注意事项

选择器中的特殊符号也是需要注意的,因为它们可能会影响选择结果。

2.5.2 含有空格的注意事项

选择器中的空格也不容忽视,一个空格或多个空格可能导致不同的选择结果。这是由于后代选择器和过滤选择器的差异导致的。

以下代码是选取class为"cfass"且属性值为"test"的元素中隐藏的元素(即后代选择器)。

```javascript

$("cfass[test='test'] :hidden")

```

而以下代码则是选取隐藏的class为"test"的元素(即过滤选择器):

```javascript

$(":visible.test")

```

2.6 案例研究—某网站品牌列表的效果

```javascript

if ($category.is(":visible")) { //执行代码}

---- ITRoad,记录与分享学习历程

```