ID=box0のデータセットの内容をID=box1のテキストコンテンツに書き替えるコードです。
特に何のひねりもなく実装すると以下のような結果になります。
html
1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="UTF-8"> 5 <script> 6 7 document.addEventListener('DOMContentLoaded', function(){ 8 var hensu = document.querySelector('#box0'); 9 box1.textContent=hensu.dataset.mozi; 10 }); 11 12 </script> 13 </head> 14 <body> 15 16 <div id="box0" data-mozi="box1にこの文字を表示"></div> 17 <div id="box1">テキストが変わる</div> 18 19 </body> 20</html>
上記はbox1.textContent=hensu.dataset.mozi;
で「box1」というIDを指定していますが、このIDもデータセット(変数)を使って指定や書き替えができないか?と思いやってみました。
box0にdata-idname="box1"
を追加します。
これを変数hensu2に格納してID要素を指定してみようと思います。
html
1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="UTF-8"> 5 <script> 6 7 document.addEventListener('DOMContentLoaded', function(){ 8 var hensu = document.querySelector('#box0'); 9 var hensu2 = hensu.dataset.idname; 10 hensu2.textContent=hensu.dataset.mozi; 11 }); 12 13 </script> 14 </head> 15 <body> 16 17 <div id="box0" data-idname="box1" data-mozi="box1にこの文字を表示"></div> 18 <div id="box1">テキストが変わる</div> 19 20 </body> 21</html>
無理でした。
これhensu2.textContent=hensu.dataset.mozi;
おそらくプログラム上ではDOM上のID=hensu2を探し回っている状態で、ローカル変数としては機能していないんだと思います。
ローカル変数の中身をグローバル変数として認識させる方法があれば可能でしょうか?

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/12/15 09:17
2024/12/15 10:38