@@Felix Riesterer
Wenn ich mir allerdings diesen Schreibaufwand anschaue, als Beispiel sei nur der Setter
$element.attr("name", "value")
im Vergleich zuelement.setAttribute("name", "value")
, und der Getter$element.attr("name")
im Vergleich zuelement.getAttribute("name")
genannt.
setAttribute
/getAttribute
sind eben sprechende Namen; attr
ist kryptisch.
Und 8 Zeichen mehr machen für dich Schreibaufwand? Stattdessen willst du lieber dem Nutzer aufbürden, zusätzlich eine 87 kB große Bibliothek zu laden? Ernsthaft?
Das Mantra von jQuery war (neben dem Ausbügeln von Browserunterschieden) "write less do more". Das sehe ich hier ganz deutlich: Mit jQuery schreibt man weniger Code-Fülle,
Man schreibt vielleicht weniger, aber …
die im Endeffekt zu lesbarerem weil weniger geblähtem Code führt.
… zur Lesbarkeit s.o.
Weniger aufgebläht? Eben nicht. Die 87 kB musst du in deine Rechnung schon mit einbeziehen.
Aber falls dir attr
heilig sein sollte, kannst sowas in der Art machen:
Element.prototype.attr = function(name, value)
{
if (arguments.length > 1)
{
return this.setAttribute(name, value);
}
else
{
return this.getAttribute(name);
}
}
document.body.attr('foo', 'bar');
console.log(document.body.attr('foo')); // bar
Dazu brauchst du kein jQuery.
LLAP 🖖
“When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory