--- id: bad87fee1348bd9aed108826 title: 使用 jQuery 选择元素的特定子元素 challengeType: 6 forumTopicId: 18315 required: - link: 'https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.2.0/animate.css' dashedName: target-a-specific-child-of-an-element-using-jquery --- # --description-- 已经看到了 id 属性对于 jQuery 选择器选取标签的便利, 但这并不适用于所有情景。 幸运的是,jQuery 有一些其他的方法可以选取正确的标签。 jQuery 可以用 CSS 选择器(CSS Selectors)选取标签。 `target:nth-child(n)` CSS 选择器可以选取指定 class 或者元素类型的的第 n 个标签。 下面的代码展示了给每个区域(well)的第 3 个标签设置弹跳(bounce)动画效果: `$(".target:nth-child(3)").addClass("animated bounce");` 给 well 元素的第二个子元素添加弹跳(bounce)动画效果。 必须选择具有 `target` class 的子元素。 # --hints-- `target` 元素中的第二个元素应该有弹跳(bounce)动画效果。 ```js assert( $('.target:nth-child(2)').hasClass('animated') && $('.target:nth-child(2)').hasClass('bounce') ); ``` 应该仅两个标签有弹跳(bounce)动画效果。 ```js assert($('.animated.bounce').length === 2); ``` 应该用 `:nth-child()` 选择器修改这些标签。 ```js assert(code.match(/\:nth-child\(/g)); ``` 应该仅用 jQuery 给标签添加类。 ```js assert( code.match(/\$\(".target:nth-child\(2\)"\)/g) || code.match(/\$\('.target:nth-child\(2\)'\)/g) || code.match(/\$\(".target"\).filter\(":nth-child\(2\)"\)/g) || code.match(/\$\('.target'\).filter\(':nth-child\(2\)'\)/g) ); ``` # --seed-- ## --seed-contents-- ```html

jQuery Playground

#left-well

#right-well

``` # --solutions-- ```html

jQuery Playground

#left-well

#right-well

```