jQuery选择器
一、基本选择器(五种)
1. ID选择器:通过元素的ID属性进行选择。
```javascript
console.log($('#box'));
```
2. 类选择器:通过元素的class属性进行选择。
```javascript
console.log($('.box'));
$('.box').css('color', 'red');
```
3. 标签选择器:通过元素的标签名进行选择。
```javascript
console.log($('div'));
```
4. 并集选择器:通过多个选择器同时选中符合条件的元素。
```javascript
console.log($('.box, p'));
```
5. 交集选择器:通过两个选择器中都符合条件的元素进行选择。
```javascript
console.log($('div.box_1'));
```
二、层级选择器(两种)
1. 子代选择器:通过父元素和子元素的关系进行选择。
```javascript
console.log($('#list > li'));
```
2. 后代选择器:通过父元素和子孙元素的关系进行选择。
```javascript
console.log('#list li');
```
三、过滤选择器(三种)
1. :eq(index):根据索引值选择对应的元素。索引从0开始。
```javascript
console.log($('li:eq(3)').css('color', 'green'));
```
2. :odd:选择索引为奇数的元素。
```javascript
console.log($('li:odd').css('font-size', '30px'));
```
3. :even:选择索引为偶数的元素。
```javascript
console.log($('li:even').css('background-color', 'grey'));
```
以下是重构后的代码:
```javascript
// 获取所有子代元素
console.log($('#list').children());
console.log($('#list').children('li'));
console.log($('#list').children('p'));
// 查找指定元素
console.log($('#list').find('li'));
// 查找兄弟节点,不包括自己本身
console.log($('#list_3').siblings());
console.log($('#list_3').siblings('li'));
console.log($('#list_3').siblings('ol'));
// 查找父亲元素
console.log($('#list_3').parent()); // 查找祖先
console.log($('#list_3').parents());
// 相当于$("li:eq(2)"), index从0开始
console.log($('li').eq(4));
// 找下一个兄弟元素
console.log($('#list_3').next()); // 找下边所有兄弟元素
console.log($('#list_3').nextAll());
// 找上一个兄弟元素
console.log($('#list_3').prev());
console.log($('#list_3').prevAll()); // 上面的所有兄弟元素
// 获取当前元素的位置(索引)
console.log($('#list_3').index());
console.log($('li').eq($('#list_3').index()));
// 返回不带有类名 "intro" 的所有
元素
console.log($('#list_3').siblings().not('li'));
```