Ich habe mehrere Elemente auf einer HTML-Seite, die dieselbe Klasse haben - aber sie sind unterschiedliche Elementtypen. Ich möchte den Tag-Namen des Elements herausfinden, während ich sie durchlaufe - aber .attr akzeptiert nicht "Tag" oder "Tagname".
Hier ist was ich meine. Betrachten Sie diese Elemente auf einer Seite:
<h1 class="rnd">First</h1>
<h2 id="foo" class="rnd">Second</h2>
<h3 class="rnd">Third</h3>
<h4 id="bar" class="rnd">Fourth</h4>
Jetzt möchte ich so etwas ausführen, um sicherzustellen, dass meine Elemente alle eine ID haben, wenn noch keine definiert wurde:
$(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());
}
});
});
Das Ergebnis, das ich möchte, wäre, dass die H2- und H4-Elemente dann eine ID von haben würden
rndh2_1
rndh4_3
beziehungsweise.
Irgendwelche Ideen, wie ich den Tag-Namen des durch "this" dargestellten Elements ermitteln kann?