Ich benutze jQuery und möchte eine Liste von hovered Elemente in einem Array speichern. Der Code, den ich verwende, ist unten (Sie können es in ein leeres HTML-Dokument einfügen, es zu testen):indexOf ein jQuery-Objekt gibt immer zurück -1
<div class="element" style="width:100px;height:100px;border:1px solid black;"></div>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
var hovered = [];
$(document).ready(function(){
$(".element").hover(function(){
hovered.push($(this));
console.log(hovered.indexOf($(this)));
});
});
</script>
Immer, wenn ich über die div schweben, -1 immer an der Konsole angemeldet wird. Warum ist dies und was ist eine mögliche Problemumgehung?
Weil '{} === {} // false' zwei Objekte niemals gleich sind. –
Sie erstellen zwei verschiedene Objekte. der, den du schiebst und den du suchst. –