I ont deux divs comme représenté ci-dessous:indexOf() fonction ne fonctionne pas sur les tableaux
<div class="container"></div>
<div class="container"></div>
I a créé un tableau à l'aide de ces deux divs:
var containers = document.querySelectorAll(".container");
I a également créé une variable pour représenter la première div:
var div1 = document.querySelectorAll(".container")[0];
Lorsque j'utilise indexOf()
pour obtenir l'indice de la première div dans le tableau, je reçois un Erreur:
containers.indexOf is not a function
Voici un extrait qui résume mon problème:
var containers = document.querySelectorAll(".container");
var div1 = document.querySelectorAll(".container")[0];
containers.indexOf(div1); // returns the error
<div class="container"></div>
<div class="container"></div>
'querySelectorAll' retourne un * NodeList *, pas un tableau. Vous pouvez convertir le NodeList en tableau en appelant 'Array.from (...)'. –
'querySelectorAll' renvoie un' NodeList' qui n'a pas de méthode 'indexOf'. – Li357
Cependant, vous pouvez faire 'Array.prototype.indexOf.call (containers, div1)'. – RobG