1. ホーム
  2. jquery

[解決済み] Jquery を使って親 div の id を見つける

2022-12-06 10:22:30

質問

このようなhtmlがあります。

<div id="1">
    <p>
        Volume = <input type="text" />
        <button rel="3.93e-6" class="1" type="button">Check answer</button>
    </p>
    <div></div>
</div>

と、こんなJSもあります。

$("button").click(function () {
    var buttonNo = $(this).attr('class');
    var correct = Number($(this).attr('rel'));

    validate (Number($("#"+buttonNo+" input").val()),correct);
    $("#"+buttonNo+" div").html(feedback);
});

私が本当に欲しいのは、ボタンにclass="1"をつける必要がなく(数字クラスが有効でないことは知っていますが、これはWIPです!)、親divのidに基づいてボタンNoを決定することができればいいのです。現実にはこのような感じで複数のセクションがあります。

  1. ボタンを親にしているdivのidはどうすればわかりますか?

  2. ボタンコードに答えを格納するために、より意味的な方法は何でしょう。私は、非プログラマーが物事を壊すことなくコピー&ペーストできるように、これをできるだけ確実なものにしたいのです!

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

あなたは、使用することができます イベントデレゲーション を親Divで使用することができます。あるいは に最も近い メソッドを使用して、ボタンの親を見つけます。

2つのうち最も簡単なのは、おそらく最も近いものです。

var id = $("button").closest("div").prop("id");