Ich habe Schwierigkeiten zu verstehen, warum ein bestimmter Selektor für mich nicht funktioniert. Zugegeben, ich bin ein bisschen ein JQuery-Neuling.Probleme mit JQuery-Selektoren und "ist"
Dies wählt die richtigen ersten div.editbox auf der Seite und Farben es gelb:
$('div.editbox:first').css("background-color","yellow");
Doch dieses if ... is
Konstrukt macht die markierte Grenze für jede Box erscheinen, wie es moused-over ist .
$('div.editbox').bind('mouseover', function(e) {
if ($(this).is('div.editbox:first')) {$(this).css("border", "1px solid red");}
});
I Variationen versucht haben, wie ‚.editbox: zuerst‘, ‚.editbox div: erste‘ usw.
Grunde möchte ich in der Lage sein, zuverlässig zu prüfen, ob dies der erste ist oder letztes Element von mit dem Klassennamen.
Danke!
Edit: hier ist der HTML Ich verwende:
<body>
<div class="container">
<p></p>
<div class="editbox" id="box1">Foo</div>
<div class="editbox" id="box2">Bar</div>
<div class="editbox" id="box3">Baz</div>
<div class="responsebox" id="rbox"></div>
</div>
</body>
Dies ist nur ein Proof-of-Concept-Seite; Die eigentliche Seite wird natürlich sehr viel komplexer sein. Nochmal: Was ich will, ist zuverlässig zu erkennen, ob ich in der ersten oder letzten "div.editbox" bin. I Eine Abhilfe verwendet wird:
$('div.editbox:last').addClass("lasteditbox");
Dann für if ($(this).is(".lasteditbox"))
testen, die funktionieren, aber es scheint ungeschickt und ich versuche, die richtige Art und Weise zu lernen, dies mit JQuery zu tun.
so wollen Sie das Ereignis Mouseover nur auf den ersten binded? – TStamper