JavaScriptで要素のIDを取得
ボタンや要素をクリックしたとき、動画、オーディオの終了時、あるいは querySelectorall()
を用いて要素の ID を取得する方法のメモ。
以下のコードは、stack overflow から。
<button id="btn1" onClick="reply_click(this.id)">B1</button>
<button id="btn2" onClick="reply_click(this.id)">B2</button>
<button id="btn3" onClick="reply_click(this.id)">B3</button>
<script type="text/javascript">
function reply_click(clicked_id)
{
alert(clicked_id);
}
</script>
onClick to get the ID of the clicked button
python のテンプレートで、ID にオブジェクトの uuid を付与して、javascript で uuid を取り出す方法。
<button id="btn1_{{ test.id }}" onClick="myFunction(this.id)">B1</button>
<button id="btn2_{{ test.id }}" onClick="myFunction(this.id)">B2</button>
<button id="btn3_{{ test.id }}" onClick="myFunction(this.id)">B3</button>
<script type="text/javascript">
function myFunction(id)
{
const target = id.slice(-36);
console.log(target); // test.id(uuid)
}
</script>
その他、videoタグやaudioタグで、再生終了時や停止時に id を取得。
<video id="video" controls onpause="myFunction(this.id)" onended="myFunction(this.id)">
// <audio id="audio" controls onpause="myFunction(this.id)" onended="myFunction(this.id)">
<script>
function myFunction(pk) {
console.log(pk);
}
</script>
querySelectorall()
を使用して、複数の要素のidを取得。
<div id="test1" class="sample">test1</div>
<div id="test2" class="sample">test2</div>
<div id="test3" class="sample">test3</div>
<div id="test4" class="sample">test4</div>
<script>
var t = document.querySelectorAll(".sample");
t.forEach(function(item){
let id = item.getAttribute('id');
console.log(id);
});
</script>
参考記事
お薦め
【狙われる高齢者】大阪府などで65歳以上のインフルワクチン接種を無償化「まだまだ殺るつもりか」「タダほど怖いものはない」と批判殺到https://t.co/cNy0Q8Svsi
— RAPT理論+α (@Rapt_plusalpha) October 6, 2022
【コロナとインフル同時流行への政府対策案】発熱したら自己検査、陽性なら「コロナ患者」陰性なら「インフル患者」とする方針を発表 「発熱はコロナかインフルしかないのか」と批判殺到https://t.co/DRcH5TlpE5
— RAPT理論+α (@Rapt_plusalpha) October 6, 2022
【CDCのデータ公開】コロナワクチン接種したアメリカ人1000万人中78万人が診察・救急治療・入院、約250万人以上が日常生活に支障を来すhttps://t.co/qHBP3D7jxG
— RAPT理論+α (@Rapt_plusalpha) October 6, 2022
聖書に書かれた「罪」をなくしていくことで、人生が180度変化し、どこまでも幸福に生きられるようになった(十二弟子・KAWATAさんの証)https://t.co/IYj6fXLf5T
— RAPT理論+α (@Rapt_plusalpha) October 6, 2022
【日本人最年長の宇宙詐欺師】宇宙が存在しないとバレても尚、「若田光一」が「イーロン・マスク」の宇宙船で5回目の宇宙飛行に成功https://t.co/NoHSg0oOx6
— RAPT理論+α (@Rapt_plusalpha) October 6, 2022
天国も地獄も存在している!! そしてズバリ、天国に行く方法を教えてくれるのはRAPTブログだけ!! (十二弟子・ミナさんの証)https://t.co/jMUi3ClM8V
— RAPT理論+α (@Rapt_plusalpha) October 5, 2022
神様を信じて祈り求めることで、全ての不安や心配、絶望から解放され、「心の病」が治った奇跡の体験!!(十二弟子・ヒロさんの証)https://t.co/NnmxHSYgeV
— RAPT理論+α (@Rapt_plusalpha) October 4, 2022