Die weit verbreitete und beliebte JavaScript Bibliothek jQuery hat in der Version 1.6, die vor wenigen Tagen veröffentlicht wurde, eine weitreichende Veränderung eingeführt: die Unterscheidung zwischen echten Attributen und Properties.
Änderung und deren Konsequenzen
Bei allen älteren Versionen wurde diesbezüglich nicht unterschieden. Es war die Methode attr() für die Abfrage und Veränderung für sowohl Attribute als auch Properties verantwortlich. In jQuery 1.6 wurde die Mehtode prop() eingeführt, die für die Abfrage und Veränderung von Properties zuständig ist, während attr() eigentlich nur noch für echte Attribute zuständig war.
Dass diese Neuregelung klarerweise zu Problemen bei Updates auf die 1.6er Version führen würde, liegt klar auf der Hand. Man müsste jedes Vorkommnis von attr() in seinem Code daraufhin untersuchen, ob man sie durch prop() ersetzen muss - bei größeren Projekten unvorstellbar bzw mit einem riesigen Aufwand verbunden.
Toleranteres 1.6.1
Alle Entwickler, die begründeterweise Angst vor einem Update auf 1.6 haben, können beruhigt sein: gestern wurde die Version 1.6.1 ins Leben gerufen, die mehr Toleranz und Rückwärtskompatibilität mit sich bringt. Mit anderen Worten: attr() verhält sich ab sofort wieder so wie früher und bleibt die eierlegende Wollmilchsau. Zusätzlich steht die Methode prop() für die Properties zur Verfügung
Trotzdem: richtige Anwendung von attr() und prop() bringt etwas
Die Unterscheidung von Attributen und Properties macht trotzdem Sinn. Nicht zuletzt deshalb, weil es durchaus möglich wäre, dass diese erneute Anpassung von attr() nur vorübergehend sein und in zukünftigen Versionen wieder entfernt werden könnte. Außerdem ist es sauberer und möglicherweise - das ist allerdings nur reine Vermutung - auch performanter.
Ein Attribut ist eine dauerhafte Eigenschaft eines Elements, all das, was man laut HTML-Standard einem Element als Attribut vergeben darf: also zB eine "id" oder "class" oder ein "src" für ein Bild. Properties sind entweder aktive Zustände des Elements, wie zB ob eine Checkbox ausgewählt ist ("checked") oder auch Metainfos wie "tagName" oder "nodeName".
Eine sehr schöne Übersicht darüber, welche Eigenschaften nun über attr() und welche über prop() angesprochen werden sollten, findet man im offiizellen Changelog der jQuery Version 1.6.1.
JavaScript ist eine Programmiersprache, mit der sich interaktive und dynamische Funktionen in Webanwendungen und Websites umsetzen lassen. Sie läuft direkt im Browser und wird mit Laufzeitumgebungen wie Node.js auch auf Servern eingesetzt. In der modernen Webentwicklung bildet JavaScript unter anderem die Grundlage für Frontend-Frameworks, Progressive Web Apps und performante Headless-Architekturen, etwa in Verbindung mit Drupal und APIs.
jQuery ist eine JavaScript-Bibliothek, die die Manipulation des Document Object Model (DOM), Ereignisverarbeitung, Animationen und asynchrone HTTP-Anfragen (Ajax) durch eine einheitliche Programmierschnittstelle vereinfacht. Sie wird in zahlreichen bestehenden Websites und Drupal-Projekten eingesetzt, während moderne Anwendungen zunehmend auf native JavaScript-APIs oder Frameworks wie Vue.js setzen. Bei Wartung und Weiterentwicklung ist daher eine sorgfältige Bewertung von Abhängigkeiten, Performance und Sicherheitsaspekten wichtig.
jQuery ist eine JavaScript-Bibliothek, die die Manipulation des Document Object Model (DOM), Ereignisverarbeitung, Animationen und asynchrone HTTP-Anfragen (Ajax) durch eine einheitliche Programmierschnittstelle vereinfacht. Sie wird in zahlreichen bestehenden Websites und Drupal-Projekten eingesetzt, während moderne Anwendungen zunehmend auf native JavaScript-APIs oder Frameworks wie Vue.js setzen. Bei Wartung und Weiterentwicklung ist daher eine sorgfältige Bewertung von Abhängigkeiten, Performance und Sicherheitsaspekten wichtig.
Der HTML-Standard (Hypertext Markup Language) definiert Syntax, Elemente und Regeln zur strukturierten Auszeichnung von Inhalten im Web. Er wird maßgeblich durch die WHATWG als Living Standard weiterentwickelt und sorgt dafür, dass Browser Webseiten möglichst einheitlich interpretieren. Eine standardkonforme HTML-Struktur bildet die Grundlage für barrierearme Websites, gute Suchmaschinenoptimierung und moderne Webanwendungen – etwa auf Basis eines Drupal-CMS.