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 jQuery Basics (2014) Creating a Simple Lightbox Creating and Appending Detached DOM elements

Raeed Sabree
Raeed Sabree
10,664 Points

Take a moment to read the code in the app.js file. The code should display a modal or pop-over window (built with HTML).

Take a moment to read the code in the app.js file. The code should display a modal or pop-over window (built with HTML). In the modal window there should be a place for a message to display and a button to dismiss or close the modal. Check out how the code runs in the preview. There's something wrong. The dismiss button isn't showing in the modal. Can you fix it?

js/app.js
//Create the Modal
var $modal = $("<div id='modal'></div>");

//Create a placeholder for text in the modal
var $placeHolder = $("<p id='placeHolder'></p>");
$modal.append($placeHolder);

//Create a button to dismiss modal and add it to modal
var $dismissButton = $("<button>Dismiss</button>");

//Hide modal when button is pressed
$dismissButton.click(function(){
  $modal.hide(300);
});

$("body").append($modal);

//A function to show a modal
function displayModal(message) {
  $placeHolder.text(message);
  $modal.show();
}

//Show an example modal
displayModal("Hello World!");
index.html
<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" title="no title" charset="utf-8">
    <title>Modal Example</title>
</head>
<body>
    <h1>Modal Example Page</h1>

    <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="js/app.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>
Paul Ryan
Paul Ryan
4,584 Points

Come on man, don't be so lazy! Try the challenges, it's how you will learn. Do not just copy and paste it. Yes someone will probably give you the answer here but you are not using this website correctly, challenges are designed to help you learn. You shouldn't do them just to move on, you need to learn! Otherwise, what's the point. So go do the challenge yourself and if you get stuck on a part, post a question relating to that part, not the whole thing.

Raeed Sabree
Raeed Sabree
10,664 Points

what if im stuck on the whole thing and have no idea what im even supossed to be doing?

Raeed Sabree
Raeed Sabree
10,664 Points

when i get the answer i usually look over what they did before i o to the next task

Paul Ryan
Paul Ryan
4,584 Points

The task is always related to the videos so if you have no idea then watch the video again, you should also code along with the videos. Looking over the answer isn't half as effective as figuring it out yourself

Paul great help man! Raeed I was just as confused as you so thanks for asking this question.

1 Answer

Jennifer Nordell
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Jennifer Nordell
Treehouse Teacher

Hi there! See where we appended the placeholder to the modal? Well we created the variable for our dismiss button, but then we never actually appended it to the modal. Here's the line you need:

$modal.append($dismissButton);

I'll leave the placement of the line up to you :smiley: