onmouseover=“this.Stil... funktioniert, aber ich brauche so etwas onmouseover="this.Kind.Kind
Werden sollte, sehr einfach, aber ich kann nicht ankommen es zu wirken. Wie schon im Titel beschrieben würde ich gerne ändern, onmouseover hintergrund-Farbe aus span.name (orange)
<div class="pdf-icon-box" style="position:relative;" onmouseover="this.style.backgroundColor = 'yellow'"; onmouseout="this.style.backgroundColor = 'green'"; >
<span class="pdf-style">
<span class="name" style="display:inline-block;background-color:orange;"> T E S T </span>
</span>
</div>
Fand ich diese aber coul, würde es nicht funktionieren
Get-Element mit dem Klassennamen
Dies ist, was ich versuche: fiddle ist hier
Er hat nur die Arbeit in der FF
Danke für die Hilfe!
- Nein ist es nicht. Ich will die orange Farbe, "TEST" ändern
- warum gehst du nicht einfach css? developer.mozilla.org/en-US/docs/Web/CSS/:hover
- Yep hab ihn jetzt sehen meine Antwort.
- funktioniert nicht (es ist ein touch-screen) bitte Fragen Sie mich nicht warum, aber onmouseover funktioniert
- oh - gut, dann, ja, schweben ist nicht relevant für ein touch-Gerät. nicht sicher, was die ux ist, das Sie hinzufügen schweben dann? sind Sie vielleicht auf der Suche nach :aktiven ? also, wenn Sie wirklich drücken Sie das element mit Ihrem finger?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern Sie Ihren code
Demo: Fiddle
Du suchst so etwas:
Dies ist ziemlich hässlich, aber eine bessere Lösung ist
in CSS.
Erklären, JS, falls es hilft:
bekommt eine Liste von allen Kindern
this
.Die erste im index
[0]
ist ein text-Knoten (der Zeilenumbruch).Den zweiten, bei index
[1]
ist die Spanne, die Sie suchen.Dann das gleiche tun für Sie, dass span.
firstChild
in Javascript, wäre es eine:first-child
im CSS. Denn CSS zählt nur die Elemente, während Javascript zählt auch text-Knoten.getElementsByClassName()
wird nicht unterstützt, bis IE 9.0 🙁 vielleicht nicht ein problem in Ihrem Fall aber.<span><span><span>
.childNodes[1]
wäre besser, wenn Sie verwendenfirstElementChild
Können Sie auch versuchen, diese
Einfach den code zwischen Ihrem
<head>
tags wie dieseBeispiel.
Zusätzlich zu @ArunPJohny, solltest du besser CSS verwenden.
Ich bin nicht sicher, warum kommst du nicht mit jquery.
RAUM ist ein Kind. also, wenn u haben Leerzeichen zwischen u kann es nicht bekommen.
eine Möglichkeit ist, den code zu schreiben, ohne Leerzeichen und firstChild
zweite Möglichkeit ist die Verwendung der childNodes[childelement] wieder : ein Leerzeichen/tab/neue Zeile ist ein Kind
Dritte Möglichkeit ist die Verwendung der className
aber das ist keine schöne Art und Weise zu tun.
verwenden Sie css -