Ihr Code ist korrekt (abgesehen von der fehlenden );
Ich nehme an, ist nur ein Pasting-Fehler) und sollte funktionieren.
Der einzige Grund, warum es nicht funktionieren würde, ist, wenn Sie Ihren Code nicht um $ (Dokument) .ready gewickelt haben. Wenn Sie mit $ (document) nicht vertraut sind, ist es ein spezielles Ereignis, das jQuery auslöst, sobald die gesamte DOM-Struktur manipuliert werden kann. Wenn Sie Javascript oben auf Ihrer Seite haben, wird alles, was Sie außerhalb von $ (document) ausführen, von .ready gegen ein leeres DOM ausgeführt, da der Browser noch keine Zeit hatte, die Knoten zu erstellen. Also, wann immer Sie Elemente manipulieren wollen (besonders eine Abfrage, um alle die Elemente zu erhalten, die einen Titel haben), müssen Sie definitiv den Code um dieses besondere Ereignis setzen.
, dass im Auge behalten, habe ich versucht, den folgenden Code, der einen roten Rahmen um Elemente mit einem Titel setzen würde:
$(document).ready(function() {
$("[title]").each(function() {
$(this).css('border','1px solid red');
});
});
Und es worked properly.
Was machst du in deiner doSomething (this) -Funktion? –
Dieser Wahlschalter funktioniert gut für mich! Tatsächlich gibt es in StackOverflow 66 Elemente zurück. Versuchen Sie dies in der Adressleiste: javascript: alert ($ ("[title]"). Length); –