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

Cindy Lea
PLUS
Cindy Lea
Courses Plus Student 6,497 Points

Where to put append?

Not sure where to put the append...

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>");
$modal.append('$dismissButton');
//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>


**Moderator Edited: Added SOLVED to title so the Community knows you solved your issue.**

3 Answers

Steven Parker
Steven Parker
231,275 Points

I'm not sure what you mean by "needed to add alot more than I thought".

The solution is to add just this after line 9:

$modal.append($dismissButton);
Jason Anders
Jason Anders
Treehouse Moderator 145,860 Points

Treehouse Moderator has changed self-assigned 'Best Answer' and has marked Steven Parker's response as "Best Answer." It is the correct solution and IS formatted for the Community correctly.

Mary-Ann Burton
Mary-Ann Burton
15,834 Points

The clue in the question, as I read it, is that the button isn't displayed. So, without coding it for you, an append is missing from the button section... but the place holder must come after

Hope this helps :)

Cindy Lea
PLUS
Cindy Lea
Courses Plus Student 6,497 Points

It seems you needed to add alot more than I thought...this finally worked:

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

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