2016-04-25 11 views
1

Ich muss einen Workshop für HTML-Einsteiger vorbereiten und so bin ich auf folgendes gestoßen.Sind die Attribute eines HTML-Elements Teil des Tags?

Wenn ich ...

<p>This is a text-node.</p> 

... dann <p> und </p > Tags sind. Die ganze Sache '<p> Dies ist ein Text-Knoten. </p > ist ein Element.

So weit, so gut.

Aber wenn ich Attribute darin habe wie '< p class = "foobar" > Dies ist ein Text-Knoten. </p > '...

Ist dann das Attribut Teil des Tags?

Bedeutet: Das Tag ist alles von der öffnenden Klammer bis zur schließenden Klammer einschließlich der Attribute? Oder habe ich etwas falsch gemacht? Dann korrigiere mich bitte.

+0

Sie haben Recht, aber es ist nur fair, Ihre Klasse zu warnen, dass das Wort "tag" wahrscheinlich öfter falsch verwendet wird, als es richtig verwendet wird (im Allgemeinen wo der korrekte Begriff "Element" ist). –

+0

@MichaelKay Was Sie über beide Seiten schreiben, stimmt definitiv mit meiner Erfahrung überein. Danke für den Tipp. :) –

Antwort

0

Ihr Verständnis ist korrekt. Die in einem Start-Tag deklarierten Attribute sind Teil des Start-Tags. Dies gilt sowohl in HTML als auch in XML.

Um es klar zu stellen, beziehen sich die Attribute selbst auf das Element und nicht auf das Tag, da ein Tag einfach eine Elementdeklaration ist (wenn es keinen besseren Begriff gibt). Die Notation attr=value ist jedoch tatsächlich Teil des Start-Tags.

Für einen Einführungsworkshop ist die Unterscheidung in Attributen nicht so wichtig. Was wichtiger ist (und ich meine sehr wichtig) ist die Unterscheidung zwischen Elementen und Tags.

1

Korrekt. Ein Tag ist alles zwischen einem < und dem unmittelbar folgenden />. So ist der class="foobar" Teil tatsächlich in Ihrem Absatz-Tag.

Wie BoltClock richtig darauf hingewiesen, ist das class Attribut (oder jedes andere Attribut für diese Angelegenheit), nicht etwas, das Hand-in-Hand mit dem Tag selbst geht. Es erklärt einfach ein besonderes Verhalten.

Die MDN sagt:

[Attribute] sind zusätzliche Werte, die die Elemente oder passen ihr Verhalten auf verschiedene Weise konfigurieren, dass die Kriterien der Anwender treffen wollen. Also in Ihrem Fall

die class="foobar" sagt, dass dieser spezifische p Tag eine Klasse mit dem Namen „foobar“ hat.

Was ist ein class?

Das globale Klassenattribut ist eine durch Leerzeichen getrennte Liste der Klassen des Elements. Mit Klassen können CSS und Javascript bestimmte Elemente auswählen und darauf zugreifen.

Was bedeutet das? Berücksichtigen Sie Folgendes:

<p>This is a text-node.</p> 
<p class="foobar">This is another text-node.</p> 

Das obige Markup hat 2 Absatzelemente. Indem ich eines davon ein class Attribut gebe, kann ich später genau angeben, welches Absatz-Tag oder Satz von Absatz-Tags ich ein spezielles Verhalten (zum Beispiel Farbe) geben möchte. Die Nützlichkeit davon wird deutlicher, wenn Ihr Markup wirklich groß wird.

Hoffe, dies klärt die Dinge ein wenig auf.

Verwandte Themen