JavaScript jQuery Basics Understanding jQuery Events and DOM Traversal DOM Traversal with jQuery

Kenneth Dubroff
Kenneth Dubroff
10,611 Points

$(‘li’).eq(-2) Unexpected AST node type encountered initializing the jQueryMethodCall.arguments property: UnaryExpressio

Given the following html:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Document</title>
</head>
<body>
  <h2>Student List</h2>

  <ul class="student-list">
    <li>James McAvoy</li>
    <li>Alena Holligan</li>
    <li>Wade Christensen</li>
    <li>Matt Krzyzynski</li>
  </ul>

  <script src="jquery-3.2.1.min.js"></script>
  <script src="app.js"></script>
</body>
</html>

Using console, I'm able to select Wade Christensen with:

$('li').eq(-2);

Why is this throwing an error in the Teamtreehouse editor, but not on localhost?

1 Answer

Kuanyshbek Ospanov
Kuanyshbek Ospanov
17,416 Points

About first task. Firstly read documentation about ".eq() method": https://www.w3schools.com/jquery/traversing_eq.asp

$('li').eq(2);

About second task. Again I recommend you read documentation about this methods at: https://www.w3schools.com/jquery/jquery_ref_traversing.asp

$('li').eq(2).prev().prev();
Kenneth Dubroff
Kenneth Dubroff
10,611 Points

Oops, it was -1 in console, which probably works here as well since it's mentioned in the video that you can traverse in reverse