Tengo varios elementos en una página HTML que tienen la misma clase, pero son tipos de elementos diferentes. Quiero averiguar el nombre de la etiqueta del elemento mientras lo recorro, pero .attr no acepta "etiqueta" o "nombre de etiqueta".
Esto es lo que quiero decir. Considere estos elementos en una página:
<h1 class="rnd">First</h1>
<h2 id="foo" class="rnd">Second</h2>
<h3 class="rnd">Third</h3>
<h4 id="bar" class="rnd">Fourth</h4>
Ahora quiero ejecutar algo como esto para asegurarme de que todos mis elementos tengan una identificación si una no estaba ya definida:
$(function() {
$(".rnd").each(function(i) {
var id = $(this).attr("id");
if (id === undefined || id.length === 0) {
// this is the line that's giving me problems.
// .attr("tag") returns undefined
$(this).attr("id", "rnd" + $(this).attr("tag") + "_" + i.toString());
}
});
});
El resultado que me gustaría sería que los elementos H2 y H4 tuvieran una identificación de
rndh2_1
rndh4_3
respectivamente.
¿Alguna idea sobre cómo puedo descubrir el nombre de la etiqueta del elemento representado por "esto"?