Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript

.prev

I have a question about .prev. Here is the code I am asking about, taken from one of the jQuery lessons:

//Prevent spoilerphobes from seeing spoilers
//Solution hide spoilers

//1. Hide spoiler
$(".spoiler span").hide();
//2.  Add button
$(".spoiler").append("<button>Reveal Spoiler!</button>");
//3.  When button pressed
$("button").click(function(){
  // 3.1  Show spoiler
  $(this).prev().show();
  //3.1 Show spoiler next to the button clicked
  $(".spoiler span").show();
  //3.2  Get rid of button
  $(this).remove();
});

The (this) is in reference to the button. My question is why does the .prev go all the way to the top and select the .spoiler span and not just the .spoiler? When one uses the .prev is it not just the element directly above it?

I've updated your markdown so that your code is a bit more readable. Could you link to the lesson you're asking about?