Javascript | Uncaught TypeError: Cannot set property 'color', undefined
Ich habe eine div, welche änderungen die css-Elemente in es, als schwebte ein/aus.
Jedoch bekomme ich eine Fehlermeldung, wenn ich mouseover und mouseout, und die Farbe wird nicht geändert (der Fehler ist in der überschrift dieser Frage)
Interessant ist die ersten zwei änderungen der Arbeit (änderung des Bildes und die Farbe zu ändern der id 'ace_title', aber die mouseover-und mouseout 'ace_feature' generiert den Fehler.
Unten ist mein code, und was ich versucht habe:
<div class="service_level effect8" onmouseover="getElementById('ace_service').src='images/ace_hover.png';
getElementById('ace_title').style.color='#2C81B7';
getElementsByClassName('ace_features').style.color='#2C81B7';"
onmouseout="getElementById('ace_service').src='images/ace.png';
getElementById('ace_title').style.color='black';
getElementsByClassName('ace_features').style.color='black';">
<img src="images/ace.png" id="ace_service">
<p id="ace_title">Ace Service</p>
<img src="images/icon_tick.png" style="float: left; padding: 3px 4px 0px 15px;">
<p class="ace_features">
Outstanding IT Support
</p>
<img src="images/icon_tick.png" style="float: left; padding: 3px 4px 0px 15px;">
<p class="ace_features">
Outstanding IT Support
</p>
"document.getElementById('ace_service').src
getElementById
und getElementsByClassName
sind beide Funktionen von document
.warum gehst du nicht versuchen, javascript-variable in var dann bewerben Sie sich .Farbe
Bitte Einrücken der code ordnungsgemäß.
können Sie versuchen, in google crome Entwickler-tool. Versuchen Sie zu warnen getElementById('ace_title').Stil . Ich denke, Sie werden immer eine Undefinierte dort
InformationsquelleAutor Eclipse | 2015-05-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie
getElementById
erhalten Sie ein element, so dass es funktioniert.Wenn Sie
getElementsByClassName
erhalten Sie eine Sammlung von Elementen (mit zwei Elementen in Ihrem Fall), so funktioniert es nicht.Die folgende Zeile sollte funktionieren:
aber es wäre viel besser, eine normale Skript-Blöcke anstelle von inline -
Ich sage nur, dass, wenn jemand will, eine Eigenschaft festlegen, um alle Elemente in einer Sammlung, es ist kein Weg, es zu tun, anstatt die Einstellung dieser Eigenschaft für jedes element in einer Auflistung.
InformationsquelleAutor Alexander Dayan
diese Zeile von code war für mich erfolgreich, was ich geändert habe ist einfach eine index-Nummer nach den Namen der Klasse.
Dokument.getElementsByClassName('changeMe')[0].innerHTML='gelb';
InformationsquelleAutor Red Hack