freeCodeCamp/curriculum/challenges/portuguese/03-front-end-libraries/jquery/target-a-specific-child-of-...

3.6 KiB

id title required challengeType videoUrl localeTitle
bad87fee1348bd9aed108826 Target a Specific Child of an Element Using jQuery
link
https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.2.0/animate.css
6 Segmentar um filho específico de um elemento usando jQuery

Description

Você viu porque os atributos id são tão convenientes para a segmentação com seletores jQuery. Mas você nem sempre tem ids legais para trabalhar. Felizmente, o jQuery tem alguns outros truques para direcionar os elementos certos. O jQuery usa CSS Selectors para segmentar elementos. O seletor de target:nth-child(n) CSS permite selecionar todos os enésimos elementos com a classe de destino ou tipo de elemento. Veja como você daria ao terceiro elemento em cada poço a classe de rejeição: $(".target:nth-child(3)").addClass("animated bounce"); Faça o segundo filho em cada um dos seus elementos do poço saltar. Você deve selecionar os filhos dos elementos com a classe de target .

Instructions

Tests

tests:
  - text: O segundo elemento em seus elementos de <code>target</code> deve saltar.
    testString: 'assert($(".target:nth-child(2)").hasClass("animated") && $(".target:nth-child(2)").hasClass("bounce"), "The second element in your <code>target</code> elements should bounce.");'
  - text: Apenas dois elementos devem saltar.
    testString: 'assert($(".animated.bounce").length === 2, "Only two elements should bounce.");'
  - text: 'Você deve usar o seletor <code>:nth-child()</code> para modificar esses elementos.'
    testString: 'assert(code.match(/\:nth-child\(/g), "You should use the <code>&#58;nth-child&#40&#41</code> selector to modify these elements.");'
  - text: Use apenas o jQuery para adicionar essas classes ao elemento.
    testString: '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), "Only use jQuery to add these classes to the element.");'

Challenge Seed

<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");

  });
</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>

Solution

// solution required