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()

Teach me how to do jQuery. How do I set this class to the target value _blank

I'm getting the message was expecting target to be '_blank' not ' '.

js/app.js
$(".external").attr("_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

Per Karlsson
Per Karlsson
12,683 Points

Hey KORAXE IUHMAGEON,

You forgot to specify the target attr. First you specify what attribute to target, then you assign it's value.

Try this instead $('.external').attr('target', '_blank');

Regards, Per

Per Karlsson is spot on. Also remember to call it from within a document ready function:

(function($){

  $(document).ready(function(){

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

  });

})(jQuery);

This will ensure that the DOM structure has been loaded before trying to modify your element.