7

Bien, quiero aclarar que mi principal duda no es cual es la diferencia en cuanto la estructura, por ejemplo , sé que el elemento es un todo, lo cual vendría siendo la etiqueta inicial, atributo, contenido y etiqueta de cierre, todo eso es un elemento como en el siguiente ejemplo:

<p>
This is the content of the paragraph element.
</p>

En cuanto las etiquetas solamente son para marcar el inicio y el final de un elemento HTML, osea nada más vendría siendo esto: <p></p>

Pero mi duda es ¿Cuál es la diferencia en sus conceptos? ¿El elemento sólo es cualquier componente de un documento HTML? y ¿La etiqueta es la función o el tipo de dato que se va a poner en el documento?

jachguate
  • 25,659
  • 7
  • 35
  • 61
  • 1
    Pues es lo que has dicho, eso en la teoría porque en la práctica muchas veces se intercambian los términos y se usa indistintamente etiqueta y elemento. –  Jan 08 '19 at 07:13
  • [Esta explicación](https://www.tutorialrepublic.com/html-tutorial/html-elements.php) me parece sencilla y clara para entender la diferencia. El elemento es el ente en sí, que es un miembro del DOM: por ejemplo `p, select, div` y las etiquetas son los otros componentes que configuran ese elemento: `class, id, name, value` etc. – A. Cedano Jan 08 '19 at 12:05
  • ¿@A.Cedano , DOM son las siglas de la palabra documento? – Oscar Ivan Lopez Jan 08 '19 at 20:38
  • DOM son las siglas de Document Object Model, que vendría siendo lo mismo que document. Aunque el DOM forma parte de una jerarquía superior que es la ventana (window). Al final de [esta respuesta](https://es.stackoverflow.com/a/51961/29967) hay una imagen que lo ilustra muy bien. – A. Cedano Jan 09 '19 at 09:45

3 Answers3

14

Si revisas la documentación podrás comprender la diferencia:

Elementos

El elemento es un ente bien definido por W3C Recommendation con una función específica. De hecho hay actualmente seis tipos de elementos:

  1. Elementos vacíos (void elements)

    area, base, br, col, embed, hr, img, input, link, meta, param, source, track, wbr
    
  2. Los elementos template

    template
    
  3. Raw text elements (elementos de texto sin formato)

    script, style
    
  4. escapable raw text elements (elementos de sin formato escapables)

    textarea, title
    
  5. Foreign elements (elementos foráneos)

    Elementos del espacio de nombres MathML y del espacio de nombres SVG.

  6. Elementos normales

    Todos los que conocemos tradicionalmente como p, div, span

Cada elemento como dije más arriba tiene una definición en la especificación. Ver por ejemplo cómo se definiría un elemento p. O sea, p es todo eso y ahora debe ser escrito según las normas, con la ayuda de las etiquetas.

Etiquetas

Son una parte de los elementos.

Las etiquetas se utilizan para delimitar el inicio y el final de los elementos en el marcado. El texto sin formato, el texto sin formato que se puede escapar y los elementos normales tienen una etiqueta de inicio para indicar dónde comienzan y una etiqueta de final para indicar dónde terminan. Las etiquetas de inicio y fin de ciertos elementos normales pueden omitirse, como se describe en la sección etiquetas opcionales. Los que no pueden ser omitidos no deben ser omitidos. Los elementos vacíos solo tienen una etiqueta de inicio. Las etiquetas finales no deben especificarse para elementos vacíos. Los elementos extraños deben tener una etiqueta inicial y una etiqueta final, o una etiqueta inicial marcada como de cierre automático, en cuyo caso no deben tener una etiqueta final.

En los sub-apartados 8.1.2.1 Etiquetas de inicio y 8.1.2.2 Etiquetas de fin verás que hay dos tipos de etiquetas: de inicio y de cierre. Allí se especifica también en qué consiste cada una y cuál es su finalidad. Hay que leer y comprender esos dos apartados para saber lo que es en sí una etiqueta.

En este elemento:

<p id="miParrafo">Lorem ipsum dolor sit amet</p>

Hay dos etiquetas, una de inicio: <p id="miParrafo"> y otra de fin </p> y el elemento es un elemento del tipo normal que sirve en HTML para representar un párrafo.

Aquí dejo algo interesante y que confunde a mucha gente: Este elemento por ejemplo (del tipo void) no tiene etiqueta de cierre:

<br />

¿Por qué? Por lo que dice el número 6 que define las etiquetas de apertura:

  1. Luego, si el elemento es uno de los elementos vacíos, o si el elemento es un elemento extraño, entonces puede haber un solo carácter U + 002F SOLIDUS (/). Este carácter no tiene efecto en los elementos vacíos, pero en los elementos extraños marca la etiqueta de inicio como de cierre automático.

Si escribimos el elemento así: <br> haría lo mismo que <br />. Y en lenguaje coloquial podríamos decir que <br> es un elemento de HTML cuya función es producir un salto de línea y cuya etiqueta inicial es <br>, como es un elemento vacío (void) no tiene etiqueta de cierre. Y si lo definimos así: <br class="myBreak"> diríamos que se trata de un elemento cuya etiqueta inicial es <br class="myBreak">.

En resumen podemos decir que: el elemento es la entidad que representa un componente simple del DOM y que las etiquetas delimitan y definen las características de ese componente en cuanto al marcado.

A. Cedano
  • 86,578
  • 19
  • 122
  • 221
5

Tal y como has comentado,

Etiqueta

Tal y como comentan en acercadehtml:

  • Las etiquetas HTML son fragmentos de texto rodeados por corchetes angulares < >, que tienen funciones y usos específicos y se utilizan para escribir código HTML.

Elementos

Interpretando el contenido de developer.mozilla:

  • Los elementos que conforman el contenido de una página web se colocan entre la etiqueta de apertura y la etiqueta de cierre.

Por lo tanto, podemos identificar que las etiquetas son aquellas partes del código que se coloca entre <> (en Html) y los elementos son el contenido que engloba la etiqueta y su interior.

Podemos decir incluso que <html> es la etiqueta de apertura de la página y <html>Contenido</html> es el elemento raíz.

GDP
  • 2,723
  • 5
  • 20
  • 38
1

La respuesta es muy simple si te doy ejemplos:

ELEMENTO todo el renglón de "p" y de "a" ETIQUETA el id="obama" y el href

<p id="Obama">Hola, me llamo Obama</p>
<a href="es.stackoverflow.com">Stackoverflow en español</a>
Clipi
  • 408
  • 1
  • 4
  • 16