freeCodeCamp Challenge Guide: Target the Parent of an Element Using jQuery

Target the Parent of an Element Using jQuery


Solutions

Solution 1 (Click to Show/Hide)
<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");
  });
</script>

<body>
  <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>
</body>
5 Likes

https://github.com/jmauzy commented on Aug 18, 2015
This is not a bug.

In your code you are targeting the PARENT of the div with the ID left-well. Thus, you are targeting the div with the class col-xs-6.

Since you’re targeting the left-well ID using the parent() selector, you’d want to target one of the children within that ID.

For example, the code:

$("#target1").parent().css(“background-color”, “red”)

3 Likes

I don’t get this one

I could not get it either.

I was overthinking this one. Simply put #target1 into the parent() instead of left-well like this:

$(“#target1”).parent().css(“background-color”, “red”)

#target one’s parent is the div it is inside.

1 Like