Javascript onclick ändern Sie die Farbe von mehr als einem element
Ich die Farbe ändern möchten mehr als ein element in eine Seite durch einen Klick auf eine Schaltfläche. Ich dachte wirklich, das wäre sehr, aber ich bin mit vielen Schwierigkeiten zu erreichen. Mein code wie folgt ändert das erste element - und ich weiß, das ist, weil ich bin mit Dokument.getElementById, aber wenn ich es ändern zu dokumentieren.getElementByClass, Stoppt es zu arbeiten. Ich habe versucht, inline-styles und internen Stile ohne Erfolg. Kann jemand bitte bitte bitte erklären, wie dies zu tun. Ich bezweifle, dass dies unmöglich ist. Danke.
<html>
<head>
<style>
#p1{color:#4d982b;}
</style>
<script type="text/javascript">
function ChangeStyle()
{
document.getElementByClass("p1").style.color="#aaaaaa";
}
</script>
</head>
<body>
<p class="p1">Hello world!</p>
<p class="p1">Hello world!</p>
<input type="button" onclick="ChangeStyle()" value="Change style" />
</body>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, Sie denken darüber nach, dokumentieren.getElementsByClassName - vielleicht kann jemand klären, für mich, aber ich glaube getElementById ist der einzige singuläre zurück auf erste Elemente.
Also sagen wir, dass Sie versuchen, alle Elemente mit der Klasse "foo"...
Wahrscheinlich gibt es syntax-Fehler da oben, aber ich denke, Sie bekommen die Allgemeine Idee~
dies erfolgt in der Regel eine Klasse statt einer id.
Es kann nur eine id pro Seite.
ändern Sie Ihren code so,
Verwenden Sie dann javascript, um die Klasse zu ändern Farb-Attribute
Hier ist ein link, der hilft
Wie getElementByClass anstelle von GetElementById mit Javascript?
getElementByClassName
Methode.Können Sie keine Elemente auf der Seite mit der gleichen
id
.id
soll eindeutig sein, um ein einzelnes element, also, wenn Sie rufengetElementById("p1")
es wird nur wählen Sie die ersteid
mit Wert"p1"
.Die Lösung ist die Verwendung von Klassen, oder 2
getElementById
Anrufe, mit 2 verschiedenenid
's."p1"
getElementsByClassName()
wie hier erwähnt: stackoverflow.com/questions/7480496/...[1]
zu ändern ist das zweite element. So dass Sie wollen, um eine Schleife durch die Elemente, die mit Ihrer Länge. jsfiddle.net/pJXh9Getelementbyid-Methode funktioniert nur mit einem element. Versuchen getelementsbyid, die ein array zurückgibt.
IDs eindeutig sein müssen, so verwenden Sie Klassen-Namen statt:
document.getElementsByClassName
Ergebnisse in einem array. Müssen Sie eine Schleife durch jedes element: