Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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,749 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,749 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!