JavaScript jQuery Basics Working with jQuery Collections The .each() method

jclaurent2
seal-mask
.a{fill-rule:evenodd;}techdegree
jclaurent2
Front End Web Development Techdegree Student 10,898 Points

Unexpected AST node type encountered converting an AST node to a simple object: BinaryExpression

Hi,

Some to crack this one?

index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Document</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <h2>My Favorite Things</h2>

    <ul class="favorite-things">
        <li>Kittens</li>
        <li>Rainbows</li>
        <li>Unicorns</li>
        <li>Sprinkles</li>
    </ul>

    <script
    src="jquery-3.2.1.min.js"></script>
    <script src="app.js"></script>
</body>
</html>
app.js
$('.favorite-things li').each(function() {
  const li = $('<input type="checkbox"/>');
  $(this).parent().prepend(`(${li})`);

});

2 Answers

Steven Parker
Steven Parker
203,990 Points

Looks like you got a bit too fancy here where you only needed a simple one-liner. In particular:

  • the "prepend" should be done directly on each list item (not the parent)
  • the argument to "prepend" should be the HTML string instead of a jQuery object
  • you don't need to create a variable
  $(this).prepend('<input type="checkbox"/>');