J'ai une liste de balises <a> dans mon <ul> dans un <div>

HTML

<div id="dd" class="wrapper-dropdown-1" tabindex="1"> <span class="summary-texts">Summary </span>
    <ul class="dropdown">
        <li>
            <a class="group" id="group-a">Group A </a>
        </li>
        <li>
            <a class="group" id="group-b">Group B </a>
        </li>
        <li>
            <a class="group" id="group-c">Group C </a>
        </li>
    </ul>
</div>

Maintenant, ils sont codés en dur dans le HTML, et mon objectif est de reconstruire cette liste en utilisant JS. Je suis un peu coincé à essayer de faire en sorte que cela se produise.


J'ai essayé

for (var assignment in objects.assignments ) {

  var dropdown = $("#dd").find(".dropdown");
  var entry = document.createElement('li');
  dropdown.appendChild(entry);
  var a = createElement('a').appendTo(dropdown.find("li"));
  a.setAttribute('href', "" );
  a.innerHTML = "Group "+assignment;
}

Erreur

Uncaught TypeError: dropdown.appendChild n'est pas une fonction

Quelqu'un peut-il me donner un peu d'aide ici?

Tout indice / aide / suggestion me sera d'une grande aide.

2
code8888 13 juil. 2015 à 19:30

2 réponses

Meilleure réponse

Étant donné que dropdown est un objet jQuery, vous ne pouvez pas appeler de méthodes appendChild dessus.

Utilisez jQuery pour ajouter / ajouter des éléments comme suit:

for (var assignment in objects.assignments) {
    $("#dd .dropdown")
        .append('<li><a href="">Group ' + assignment + '</a></li>');
}
1
Tushar 13 juil. 2015 à 16:38

Au lieu de dropdown.appendChild, essayez dropdown.append(li)

.append () est l'équivalent de jquery pour Javascript appendChild

1
Suman Barick 13 juil. 2015 à 16:34