リスト項目をクリックすると、クリックされたリスト項目の ID が変数の値になるように、Jquery でグローバル変数を設定したいと考えています。このフィドルにもある以下のコードがあります。
ただし、私が持っている方法: リスト項目をクリックした瞬間に、値が正しく console.log に入れられます。ただし、その後、デモ div をクリックすると、変数がリセットされ、未定義になります。
デモをクリックしたときに id の値を取得し、リスト項目をクリックしたときに id の値を取得するにはどうすればよいですか?
例:
aaa をクリックすると、デモ ボックスをクリックしたときの値は id-1 になります。
bbbをクリックすると、デモボックスをクリックしたときの値はid-2になるはずです
<div id="demo"></div>
<ul>
<li id="id-1">aaa</li>
<li id="id-2">bbb</li>
</ul>
<script>
var id;
jQuery(document).on("click", "li", function (event) {
var id =jQuery(this).attr('id') || '';
console.log(id);
$( "#demo" ).show();
});
$(function() {
$("#demo").click(function(e) {
console.log(id);
});
});
</script>
<style>
#demo {
border: 1px solid;
display:none;
height: 100px;
width: 100px;
}
</style>