mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-05-30 16:01:10 -04:00
4.8 KiB
4.8 KiB
id, title, challengeType, forumTopicId, required, dashedName
| id | title | challengeType | forumTopicId | required | dashedName | |||
|---|---|---|---|---|---|---|---|---|
| bad87fee1348bd9aed008826 | Націльте парні елементи за допомогою jQuiery | 6 | 18318 |
|
target-even-elements-using-jquery |
--description--
Ви також можете націлити елементи на основі їхньої позиції за допомогою селекторів :odd чи :even.
Зверніть увагу, що jQuery має індекс на основі нуля, тобто першим елементом вибірки є нуль (позиція 0). Це може бути трохи заплутано, оскільки :odd обирає другий елемент (позиція 1), четвертий елемент (позиція 3) і так далі проти логіки.
Ось приклад, як націлити всі непарні елементи з класом target та надати їм класи:
$(".target:odd").addClass("animated shake");
Спробуйте вибрати всі парні елементи target і надати їм класи animated та shake. Пам’ятайте, що even означає позицію елементів на основі нуля.
--hints--
Усі елементи target, які jQuery вважає парними, повинні тремтіти.
assert(
$('.target:even').hasClass('animated') && $('.target:even').hasClass('shake')
);
Використайте селектор :even, щоб змінити ці елементи.
assert(code.match(/\:even/g));
Для додавання цих класів використовуйте лише jQuery.
assert(
code.match(/\$\(".target:even"\)/g) ||
code.match(/\$\('.target:even'\)/g) ||
code.match(/\$\(".target"\).filter\(":even"\)/g) ||
code.match(/\$\('.target'\).filter\(':even'\)/g)
);
--seed--
--seed-contents--
<script>
$(document).ready(function() {
$("#target1").css("color", "red");
$("#target1").prop("disabled", true);
$("#target4").remove();
$("#target2").appendTo("#right-well");
$("#target5").clone().appendTo("#left-well");
$("#target1").parent().css("background-color", "red");
$("#right-well").children().css("color", "orange");
$("#left-well").children().css("color", "green");
$(".target:nth-child(2)").addClass("animated bounce");
});
</script>
<!-- Only change code above this line -->
<div class="container-fluid">
<h3 class="text-primary text-center">jQuery Playground</h3>
<div class="row">
<div class="col-xs-6">
<h4>#left-well</h4>
<div class="well" id="left-well">
<button class="btn btn-default target" id="target1">#target1</button>
<button class="btn btn-default target" id="target2">#target2</button>
<button class="btn btn-default target" id="target3">#target3</button>
</div>
</div>
<div class="col-xs-6">
<h4>#right-well</h4>
<div class="well" id="right-well">
<button class="btn btn-default target" id="target4">#target4</button>
<button class="btn btn-default target" id="target5">#target5</button>
<button class="btn btn-default target" id="target6">#target6</button>
</div>
</div>
</div>
</div>
--solutions--
<script>
$(document).ready(function() {
$("#target1").css("color", "red");
$("#target1").prop("disabled", true);
$("#target4").remove();
$("#target2").appendTo("#right-well");
$("#target5").clone().appendTo("#left-well");
$("#target1").parent().css("background-color", "red");
$("#right-well").children().css("color", "orange");
$("#left-well").children().css("color", "green");
$(".target:nth-child(2)").addClass("animated bounce");
$(".target:even").addClass("animated shake");
});
</script>
<!-- Only change code above this line -->
<div class="container-fluid">
<h3 class="text-primary text-center">jQuery Playground</h3>
<div class="row">
<div class="col-xs-6">
<h4>#left-well</h4>
<div class="well" id="left-well">
<button class="btn btn-default target" id="target1">#target1</button>
<button class="btn btn-default target" id="target2">#target2</button>
<button class="btn btn-default target" id="target3">#target3</button>
</div>
</div>
<div class="col-xs-6">
<h4>#right-well</h4>
<div class="well" id="right-well">
<button class="btn btn-default target" id="target4">#target4</button>
<button class="btn btn-default target" id="target5">#target5</button>
<button class="btn btn-default target" id="target6">#target6</button>
</div>
</div>
</div>
</div>