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 Mobile Drop Down Menu Using change()

Dongyun Cho
Dongyun Cho
2,256 Points

no button to remove.

I didn't do anything yet with this task and my tast is to remove button from here. But the button is nowhere, which is supposed to be there after ul, as it is written in html from teamtreehouse.

js/app.js
//Problem: It look gross in smaller browser widths and small devices
//Solution: To hide the text links and swap them out with a more appropriate navigation

//Create a select and append to #menu
var $select = $("<select></select>");
$("#menu").append($select);

//Cycle over menu links
$("#menu a").each(function(){
  var $anchor = $(this);
  //Create an option
  var $option = $("<option></option>");

  //Deal with selected options depending on current page
  if($anchor.parent().hasClass("selected")) {
    $option.prop("selected", true);
  }
  //option's value is the href
  $option.val($anchor.attr("href"));
  //option's text is the text of link
  $option.text($anchor.text());
  //append option to select
  $select.append($option);
});
//Create button 
var $button = $("<button>Go</button>");
$("#menu").append($button);
//Bind click to button
$button.click(function(){
  //Go to select's location
  window.location = $select.val();
});
index.html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" title="no title" charset="utf-8">
</head>
<body>
    <div id="menu">
        <ul>
            <li class="selected"><a href="index.html">Home</a></li>
            <li><a href="about.html">About</a></li>
            <li><a href="contact.html">Contact</a></li>
            <li><a href="support.html">Support</a></li>
            <li><a href="faqs.html">FAQs</a></li>
            <li><a href="events.html">Events</a></li>
        </ul>
    </div>
    <h1>Home</h1>
    <p>This is the home page.</p>
    <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

Artem Shturkin
PLUS
Artem Shturkin
Courses Plus Student 8,359 Points

Hi,

In code challenge said ''Remove the code that appends the button to the #menu, but keep the $button variable.''

Remove the code that appends the button to the #menu

$("#menu").append($button);

That chunk of code append the button, so just delete it

Dongyun Cho
Dongyun Cho
2,256 Points

thanks, but I understand what I need to do to go on the challenge and I solved two of them. I still don't understand, why I cannot see button on the screen at first . If the goal of challenge is to change way to get variant optons from a button to just selecting itself, then it's supposed to show a button at first somewhere on a screen, isnt it?? But there's no button anywhere even at first, when I didn't remove !

And also, I wonder why they say I should keep the $button variable as I remove the code that appends the button to the menu. I don't think var $button is necessary..?