javascript - 单击同一个 div 中的 li 元素? JQuery/JavaScript

标签 javascript jquery html

我在 div 中有三个不同的 ul 组。当用户点击 li 元素时,我想获取 iddata 属性值。这是我的 HTML:

     <div class="myMenu">
        <div id="groupList1">
            <fieldset>
                <legend>Group 1</legend>
                <ul>
                    <li>
                        <span id="gr1" data-code="GRVAL1">Test 1</span>
                    </li>
                    <li>
                        <span id="gr2" data-code="GRVAL2">Test 2</span>
                    </li>
                </ul>
            </fieldset>
        </div>
        <div id="groupList2">
            <fieldset>
                <legend>Group 2</legend>
                <ul>
                    <li>
                        <span id="gr3" data-code="GRVAL3">Test 3</span>
                    </li>
                    <li>
                        <span id="gr4" data-code="GRVAL4">Test 4</span>
                    </li>
                </ul>
            </fieldset>
        </div>
        <div id="groupList3">
            <fieldset>
                <legend>Group 3</legend>
                <ul>
                    <li>
                        <span id="gr5" data-code="GRVAL5">Test 5</span>
                    </li>
                </ul>
            </fieldset>
        </div>
    </div> 

我已经试过了,但我没有得到 id 或 data 属性值:

$('.myMenu ul li').on('click', function(){
    console.log($(this).prop('id'));
});

如果有人知道返回 id 或数据值的方法,请告诉我。提前致谢。

最佳答案

通过点击函数传递事件参数,然后使用 e.currentTarget 向下钻取并获取子元素 ID。

$('.myMenu ul li').on('click', function(e){
    console.log($(e.currentTarget).children().attr('id'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="myMenu">
  <div id="groupList1">
    <fieldset>
      <legend>Group 1</legend>
      <ul>
        <li>
          <span id="gr1" data-code="GRVAL1">Test 1</span>
        </li>
        <li>
          <span id="gr2" data-code="GRVAL2">Test 2</span>
        </li>
      </ul>
    </fieldset>
  </div>
  <div id="groupList2">
    <fieldset>
      <legend>Group 2</legend>
      <ul>
        <li>
          <span id="gr3" data-code="GRVAL3">Test 3</span>
        </li>
        <li>
          <span id="gr4" data-code="GRVAL4">Test 4</span>
        </li>
      </ul>
    </fieldset>
  </div>
  <div id="groupList3">
    <fieldset>
      <legend>Group 3</legend>
      <ul>
        <li>
          <span id="gr5" data-code="GRVAL5">Test 5</span>
        </li>
      </ul>
    </fieldset>
  </div>
</div>

关于javascript - 单击同一个 div 中的 li 元素? JQuery/JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45622818/

相关文章:

javascript - 使用数字 1 - 20 加载 asp 下拉列表

html - 如何检测 HTML 页面是否包含视频?

javascript - 在 Canvas 上绘图时鼠标坐标不正确

javascript - 为两个不同的动态生成的列表选择全部按钮

javascript - 如果已添加到主屏幕,则隐藏工具提示

jquery - 使用 jQuery 制作一个简单的 fadeIn fadeOut 和循环

javascript - 当按下 HTML 按钮时如何显示从 PHP 函数返回的数据

javascript - CSS/jQuery : Complex editable content inside layout

javascript - 将 var 传递给 bootstrap 模式,其中 php 将使用该值

javascript 在点击时获取外部表行