首页 > 解决方案 > 如何在 jquery 中的 onclick() 函数上设置变量

问题描述

我有一个这样的下拉菜单->

截屏

<div class="dropdown-item d-flex align-items-center" id="Emp1" onclick="">
  <div class="mr-3">
    <div class="icon-circle bg-success">
      <img class="rounded-circle" src="{% static 'administrator/images/undraw_profile_1.svg' %}" alt="">
    </div>
  </div>
  <div>
    <div class="small text-gray-500">Johanthanc</div>
    <span class="font-weight-bold" id="employee1">Mr. Johanthan Cristofer</span>
  </div>
</div>
<div class="dropdown-item d-flex align-items-center" id="Emp2">
  <div class="mr-3">
    <div class="icon-circle bg-success">
      <img class="rounded-circle" src="{% static 'administrator/images/undraw_profile_1.svg' %}" alt="">
    </div>
  </div>
  <div>
    <div class="small text-gray-500">Johanthanc</div>
    <span class="font-weight-bold" id="employee2">Mr. Johanthan Cristofer</span>
  </div>
</div>

每当我单击第一个 div(例如 id="Emp1" 的 div)时,员工的姓名应设置在变量中(即 id="employee1" 的 div)。

<script>

var employee;
jQuery(document).on("click", "#Emp1", function (event) {
  employee = jQuery(this).attr('id') || '';
  console.log(employee);
});

我想在脚本的第三条语句中传递其嵌套分区的 id。那么,我应该写什么来在员工变量(第 3 条语句)中赋值——>employee = jquery(this).... ???

标签: javascriptjquery

解决方案


我认为您应该添加一个类或标识符来标识元素。

你可以试试

  <div class="dropdown-item d-flex align-items-center user-menu-item" id="Emp1" onclick="">

// script
jQuery('.user-menu-item').click(function() {
  employee = jQuery(this).attr('id') || ''
})

或者

  <div class="dropdown-item d-flex align-items-center" user-menu-item id="Emp1" onclick="">

// script
// in jQuery
jQuery('[user-menu-item]').click(function() {
  employee = jQuery(this).attr('id') || ''
})

推荐阅读