Mit reinem JavaScript, habe ich diese Linie verwendet, um eine NodeList von mehreren Elementen zurück:Wie kann ich auf alle Elemente innerhalb einer NodeList zugreifen?
var elements = document.getElementsByClassName('icon-wrapper');
Ich kann dann eine dieser Linien verwenden, um einen bestimmten Index aus diesen NodeList Ziel:
elements[0];
elements[1];
elements[2];
Wenn ich jedoch versuche, mehrere Objekte aus der NodeList aufzunehmen oder durch sie zu durchlaufen, wird nur ein Knoten zurückgegeben, der letzte, der angefordert wurde.
Ich versuche .appendChild
an alle Knoten mit der Klasse von icon-wrapper
hier anzuwenden ist der Code:
var square = document.createElement('div');
square.style.width = "32px";
square.style.height = "32px";
square.style.zIndex = "-1";
square.style.position = "absolute";
square.style.backgroundColor = "red";
var elements = document.getElementsByClassName('icon-wrapper');
var requiredElement = elements[0, 1, 2];
requiredElement.appendChild(square);
body {
background: lightyellow;
}
.icon-wrapper {
width: 30px;
height: 30px;
background: green;
float: left;
margin: 2px;
}
<div class="icon-wrapper">
<svg></svg>
</div>
<div class="icon-wrapper">
<svg></svg>
</div>
<div class="icon-wrapper">
<svg></svg>
</div>
Platzieren Sie den Code in Ihrer Frage, die nicht auf einem Remote-Standort. –
'elements [0,1,2];' dies wählt NICHT die Indezes 0, 1 und 2 aus, es wählt nur den Index 2, weil Sie den Kommaoperator verwenden – vlaz
Es gibt keine Schleife, noch benutzen Sie den Code, den Sie ' Gesendet, in der Geige? Sie machen 'Elemente [0,1,2]' und erwarten, irgendwie auf mehrere Indizes gleichzeitig zuzugreifen? – adeneo