【问题标题】:How can I get jQuery-ui menu element id如何获取 jQuery-ui 菜单元素 ID
【发布时间】:2021-12-17 22:44:43
【问题描述】:

我有简单的菜单

<ul id="menu">
  <li id="test_li_id">
    <div id="test_div_id">Just one element</div>
  </li>
</ul>

<script>
$('#menu').menu();
$('#menu').on("menufocus", function(event, ui) {
    console.log(ui.id);
    console.log(ui[0].id);
    console.log($(ui).attr("id"));
    })
</script

所有这些都没有给我 id,我尝试了更多变体但没有成功。我怎样才能得到元素的id。我想ui 内部函数既不是 jQuery 对象也不是 DOM 对象。来自google chrome dev tools 我不知道如何获得它。它只是说id 不存在,但我在对象中看到它。路径看起来像S.fn.init&gt;item&gt;0&gt;id

$(this) 给了我根元素,如果我有子菜单,则不适合。

附:是的,我需要“menufocus”而不是“menuselect”。

【问题讨论】:

    标签: jquery jquery-ui


    【解决方案1】:

    您需要使用ui.item[0].id 喜欢:

    $('#menu').menu();
    $('#menu').on("menufocus", function(event, ui) {
      console.log(ui.item[0].id);
    })
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://code.jquery.com/ui/1.13.0/jquery-ui.min.js" integrity="sha256-hlKLmzaRlE8SCJC1Kw8zoUbU8BxA+8kR3gseuKfMjxA=" crossorigin="anonymous"></script>
    <ul id="menu">
      <li id="test_li_id">
        <div id="test_div_id">Just one element</div>
      </li>
    </ul>

    下次检查使用console.log(ui)你会看到所有节点列表

    【讨论】:

    • 是的。有用。我看着节点。但是由于未知原因无法设置路径(我没有尝试“项目”我认为这是一些内部对象字段并且无法解决
    • 完美,重要的是它有效:)
    猜你喜欢
    • 1970-01-01
    • 2012-11-06
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    相关资源
    最近更新 更多