1. ホーム
  2. javascript

[解決済み] jQueryはタグ名を提供できますか?

2022-09-28 03:06:02

質問

HTMLページに、同じクラスを持ついくつかの要素がありますが、それらは異なる要素タイプです。 私はそれらをループしながら要素のタグ名を見つけたいのですが、.attr は "tag" または "tagname" を取らないのです。

私が言いたいのはこういうことです。 ページ上のこれらの要素を考えてみましょう。

<h1 class="rnd">First</h1>
<h2 id="foo" class="rnd">Second</h2>
<h3 class="rnd">Third</h3>
<h4 id="bar" class="rnd">Fourth</h4>

さて、まだ定義されていない場合は、要素にすべてidが付くようにするために、このようなものを実行したいと思います。

$(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());
    }
  });
});

私が望む結果は、H2とH4要素のidが

rndh2_1
rndh4_3

それぞれ

this"で表される要素のタグ名を発見する方法について、何かアイデアはありますか?

どのように解決するのですか?

$(this).attr("id", "rnd" + $(this).attr("tag") + "_" + i.toString());

$(this).attr("id", "rnd" + this.nodeName.toLowerCase() + "_" + i.toString());