首页 > 解决方案 > 如何在所有行上运行 javascript 函数

问题描述

单击单元格时,该功能应该运行。现在它只在第一行工作。

当我单击一行上的按钮时,我希望该特定行受到影响。

$(document).ready(function() {
  function loadHistory() {
    $('#btn').data('valType', 'more');
    $('#btn').click(function() {
      var id = $('#btn').data("valType")
    })
  }
})

标签: javascripthtmljquery

解决方案


在这种情况下,请使用类选择器,而不是 id。

例如,你有任何列表:

$(document).ready(function() {
  $('.delete').click(function(e) {
    $(this).parent().parent().remove();
  })
})
<table>
  <thead>
    <tr>
      <th>Number</th>
      <th>Name</th>
      <th>Action</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        1
      </td>
      <td>
        Chair
      </td>
      <td>
        <button class="delete">Delete</button>
      </td>
    </tr>
    <tr>
      <td>
        2
      </td>
      <td>
        Sofa
      </td>
      <td>
        <button class="delete">Delete</button>
      </td>
    </tr>
    <tr>
      <td>
        3
      </td>
      <td>
        Table
      </td>
      <td>
        <button class="delete">Delete</button>
      </td>
    </tr>
  </tbody>
</table>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


推荐阅读