Eu tenho vários elementos em uma página HTML que têm a mesma classe - mas eles são tipos de elementos diferentes. Quero descobrir o nome da marca do elemento conforme faço um loop sobre eles - mas .attr não aceita "tag" ou "tagname".
Aqui está o que quero dizer. Considere estes elementos em uma 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>
Agora quero executar algo assim para garantir que todos os meus elementos tenham um id, caso ainda não tenha sido definido:
$(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());
}
});
});
O resultado que eu gostaria seria que os elementos H2 e H4 teriam um id de
rndh2_1
rndh4_3
respectivamente.
Alguma idéia de como posso descobrir o nome da tag do elemento representado por "this"?