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 Adding New Attribute Values with attr()

So lost on a challenge question

"Using jQuery only, add to all links with the class "external", the target attribute with the value of "_blank"."

I don't think I am tracking with this at all. I have no clue how to do this, and I've been doing pretty good so far. This is my solution, which I'm sure is WAY off. $('.external").append('<target="_blank">');

Please help

js/app.js
$(".external").append('<target="_blank">');
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>Links Page</title>
</head>
<body>
  <h1>Links</h1>
  <ul>
    <li><a href="http://google.com" class="external">Google</a></li>
    <li><a href="http://yahoo.com" class="external">Yahoo</a></li>
  </ul>
  <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>

1 Answer

Tobias Helmrich
Tobias Helmrich
31,603 Points

Hey Nathan,

to add an attribute to an element you have to use the attr method. What you're doing in your code is adding an element

<target="_blank"> 

to the content of all matched elements. The attr method can take up to two arguments where the first is the attribute and the second one is the value it should get.

So if you write it like that it should work:

$(".external").attr("target", "_blank");

Good luck! :)