Mithilfe Von Jquery .addClass auf html-Elemente in array
Habe ich ein paar html-image-tags, die ein array ausfüllen. Auf der Seite http://www.digitalbrent.com/lab - drei der Elemente in dem array angezeigt werden. Ich muss eine Klasse Hinzugefügt werden, um Sie nach einer Schaltfläche geklickt wird. Die Klasse ist für jeden anders, wenn die imgs angezeigt wird, aus dem array. Hier ist der code:
$(document).ready(function(){ //populates array with images
var shipImgs = $("#thumb_slider").children();
console.log(shipImgs);
$.each(shipImgs,function(i,elem){
var tag = "<img src='" + $(elem).attr('src') + "' alt='space'/>"; //This is how I made the image tags.
imgArr.push(tag);
});
console.log(imgArr);
});
$("#basic_ul").html(imgArr[b] + imgArr[a] + imgArr[c]); //displays the images
imgArr[b].addClass("left_slot");
imgArr[a].addClass("middle_slot");
imgArr[c].addClass("right_slot");
Ich habe auch versucht es mit dem Selektor, um die array-Elemente $(imgArr[b]).addClass("left_slot"); aber das hat nicht funktioniert entweder.
Jeder Rat würde sehr geschätzt werden. Ich habe nach ähnlichen Fragen hier auf stackoverflow, aber kein Glück. Ich habe seit Jahren dieses Projekt für eine Weile nun und kann nichts finden.
- Sorry, möglicherweise müssen Sie drücken Sie die erhöhen-Taste, wenn Sie sind auf der Suche auf die Seite, um zu sehen, das array
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre
imgArr
enthält nur ein array von strings, der die image-tags " HTML.Statt, wenn Sie übergeben Sie die Zeichenfolge, um die jQuery-Funktion, die Sie erhalten eine in-memory-Knoten, die Sie dann zu einem Dokument hinzufügen.
Versuchen Sie, Ihren code oben:
Sollten Sie mit Hilfe
each()
Durchlaufen jQuery-Sammlungen, und nicht$.each()
.Sie versuchen, zu
.addClass
einen string -imgArr[b]
ist eine Zeichenfolge, die nicht ein element, Sie können nicht hinzufügen-Klasse, um eine Zeichenfolge. Probieren Sie etwas wie dieses: