Tôi đã có một số thành phần trên trang HTML có cùng một lớp - nhưng chúng là các loại phần tử khác nhau. Tôi muốn tìm ra tên thẻ của thành phần khi tôi lặp qua chúng - nhưng .attr không lấy "tag" hoặc "tagname".
Ý tôi là đây. Hãy xem xét các yếu tố này trên một trang:
<h1 class="rnd">First</h1>
<h2 id="foo" class="rnd">Second</h2>
<h3 class="rnd">Third</h3>
<h4 id="bar" class="rnd">Fourth</h4>
Bây giờ tôi muốn chạy một cái gì đó như thế này để đảm bảo rằng tất cả các phần tử của tôi đều có id nếu chưa được xác định:
$(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());
}
});
});
Kết quả tôi muốn là các nguyên tố H2 và H4 sau đó sẽ có id
rndh2_1
rndh4_3
tương ứng.
Có ý tưởng nào về cách tôi có thể khám phá tên thẻ của thành phần được biểu thị bằng "this" không?