Benutzerdefinierte Tags ... warum nicht?
Habe ich eine Seite gefunden mit einer Anleitung zum hinzufügen von benutzerdefinierten tags in html, die gleiche Weise, die Leute machen also die Arbeit mit dem neuen HTML5-tags. Ich muss zugeben, dass ich denke, es wäre toll, meine eigenen tags hinzufügen, würde es leichter machen, zu "Scannen" Sie den code, und finden, was Sie suchen.
Aber jede Website, die ich gefunden über Sie, die Leute sagen es ist nicht gut.... aber warum ist es nicht gut?
Beispiel html mit class:
<ul class="commentlist">
<li class="comment odd">
<div class="1">
<div class="avatar">
<img src="http://placehold.it/60x60" width="60" height="60" />
</div>
<div class="metadata">
<div class="name">Name</div>
<p>response1</p>
</div>
</div>
<ul class="children">
<li class="comment even">
<div class="2">
<div class="avatar">
<img src="http://placehold.it/60x60" width="60" height="60" />
</div>
<div class="metadata">
<div class="name">Name</div>
<p>response1a</p>
</div>
</div>
</li>
<li class="comment odd">
<div class="3">
<div class="avatar">
<img src="http://placehold.it/60x60" width="60" height="60" />
</div>
<div class="metadata">
<div class="name">Name</div>
<p>response1b</p>
</div>
</div>
</li>
</ul>
</li>
Und hier, was ich tun konnte, mit custom-tags, ich denke, das wäre viel leichter meinen Weg finden, also warum nicht:
<clist>
<ccommentbox class="odd">
<ccomment class="1">
<cavatar>
<img src="http://placehold.it/60x60" width="60" height="60" />
</cavatar>
<cdata>
<cname>Name</cname>
<ctext>response1</ctext>
</cdata>
</ccomment>
<cchildren>
<ccommentbox class="even">
<ccomment class="2">
<cavatar>
<img src="http://placehold.it/60x60" width="60" height="60" />
</cavatar>
<cdata>
<cname>Name</cname>
<ctext>response1a</ctext>
</cdata>
</ccomment>
</ccommentbox>
<ccommentbox class="odd">
<ccomment class="3">
<cavatar>
<img src="http://placehold.it/60x60" width="60" height="60" />
</cavatar>
<cdata>
<cname>Name</cname>
<ctext>response1b</ctext>
</cdata>
</ccomment>
</ccommentbox>
</cchildren>
</ccommentbox>
Kommentar zu dem Problem
Antwort kann für Sie von Interesse sein (nicht gerade eine Antwort, aber erklärt das Konzept der tag-Kontext und Anpassung sehr gut).
Es ist wirklich nicht so einfach, wie Sie denken.
InformationsquelleAutor der Frage martindilling | 2012-01-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benutzerdefinierte tags sind nicht böse
nur Bedenken Sie:
document.createElement('custom-tag')
Dies bedeutet Ihre website werden nur korrekt mit aktiviertem JavaScript<span>
, das heißt, Sie haben zu schreiben, CSS deklarieren Sie alscustom-tag { display: block }
<pane>
und<tab>
) in seinen Beispielen auf die Titelseite.Zusammenfassen:
Bedeutung als
<div>
und es ist keine vorhandenen HTML-4/5entspricht. Dies gilt insbesondere für web-Anwendungen, die
analysieren von DOM für spezielle tags/Attribute/Klassen zu erstellen
Komponenten (wie Angular.js).
zum HTML-standard. Sie möchten, dass Ihre website auch ohne
JavaScript eingeschaltet haben.
helfen, um die Quelle Reiniger und express-spezielle Semantik, Verwendung
. Alle negativen Auswirkungen, die oben erwähnt (JavaScript muss an sein
aktiviert /CSS-Deklaration) nicht so wichtig für diese Fälle. Das gleiche
Regeln gelten für benutzerdefinierte Attribute.
Weitere details zu diesem Thema: IE-Kompatibilität für Angular.js
InformationsquelleAutor der Antwort DominikGuzei
Gibt es eine Reihe von Gründen, warum sollten Sie das nicht tun.
Erste:, Indem Sie Ihre eigenen tags wie, dass, Sie verlieren die Funktionalität von tags wie
ul and li
. Ihre benutzerdefinierte tags, die nur aus generischen divs, und dass nicht geben Ihnen die Ergebnisse, die Sie suchen.Ja, Sie können den style der tags zu duplizieren diese Funktionen, aber warum sich die ganze Zeit etwas zu tun, dass der browser schon funktioniert.Zweite: Menschen mit Behinderungen werden nicht in der Lage zu nutzen, Ihre Website, weil es nicht konform zu irgendeinem standard-HTML. Diejenigen, die blind sind, werden assistierende Technologien, das Lesen der html-und den Inhalt mündlich.
Ein weiterer Grund ist, dass die Browser-und javascript-arbeiten nicht immer wirklich gut mit diesen benutzerdefinierten tags. Sie werden wahrscheinlich führen zu mehr Probleme, als Sie sich vorstellen. Es wird schwerer zu machen, Ihre apps cross-Plattform, wenn Sie dies tun.
InformationsquelleAutor der Antwort Erik Funkenbusch
Elemente im HTML-Code definiert haben bekannte Semantik. Diese können verstanden werden von den Browsern (besonders nützlich, wenn Sie keine CSS-Unterstützung), Screenreader, Suchmaschinen und alle anderen user agent und dann ausgedrückt, um den Benutzer.
Ihre eigenen Elemente sind bedeutungslos.
InformationsquelleAutor der Antwort Quentin
Ich denke, Sie würde wollen, dass die Verwendung von XSLT für die Transformation von XML zu gültigen HTML-Code. Wenn Sie sich vorstellen, Ihre eigenen benutzerdefinierten Tags, werden Sie nicht mehr HTML schreiben, aber wahrscheinlich XML-oder SGML-Format.
InformationsquelleAutor der Antwort Lie Ryan
Gut, für eine Sache, die Sie haben würden, zu definieren CSS für alle benutzerdefinierten Elemente zu Verhalten, wie du es willst (zB. machen die
<ccommentbox>
erscheinen wie eine Liste), die bewirkt, dass unnötige CSS-Dateien. Es macht es auch schwieriger für such-bots zu verstehen, Ihre Website.InformationsquelleAutor der Antwort Niet the Dark Absol