J'ai plusieurs éléments sur une page HTML qui ont la même classe - mais ce sont des types d'éléments différents. Je veux trouver le nom de balise de l'élément lorsque je boucle dessus - mais .attr ne prend pas "tag" ou "tagname".
Voilà ce que je veux dire. Considérez ces éléments sur une page:
<h1 class="rnd">First</h1>
<h2 id="foo" class="rnd">Second</h2>
<h3 class="rnd">Third</h3>
<h4 id="bar" class="rnd">Fourth</h4>
Maintenant, je veux exécuter quelque chose comme ça pour m'assurer que mes éléments ont tous un identifiant si l'un n'était pas déjà défini:
$(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());
}
});
});
Le résultat que je voudrais serait que les éléments H2 et H4 auraient alors un identifiant de
rndh2_1
rndh4_3
respectivement.
Des idées sur la façon dont je peux découvrir le nom de balise de l'élément représenté par "ceci"?