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

Manpreet Singh
Manpreet Singh
13,014 Points

Plz tell me the answer of this question

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("<button>dismissButton</button>");

//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>

2 Answers

Steven Ang
Steven Ang
41,751 Points

It's actually very simple. The challenge just want you to add the dismiss button into the modal div.

//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); // Just add the button here

//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!");
Manpreet Singh
Manpreet Singh
13,014 Points

Thanks Steven Ang for the help. Sir can you please tell me the best to learn jquery

Steven Ang
Steven Ang
41,751 Points

Honestly, there is no best way or right way to learn something, it all depends on the person's personal preference. To me, the best way to learn something is to build a simple project or program to show whether you truly understand what you've learned. Just simply watch tutorial videos is not going to make you a developer rather prove that you know it.

There are times when tutorial videos are not the best solution to solve problems; this is when the official documentation comes to the rescue. It's an essential skill for developers to read the doc, just like what Andrew said in jQuery Basics. In jQuery Basics, Andrew is using the doc to solve the problems; this is how a developer work in the real world - they search solution typically using the search engine or use the doc. It may be seen daunting at first, but once you got used to it and everything will be okay.

In conclusion, building a simple project after each course and using the official doc to solve problems are the best way to learn. I hope my comment satisfies your question and have fun coding!