Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击td函数时获取表的ID_Javascript_Jquery_Html - Fatal编程技术网

Javascript 单击td函数时获取表的ID

Javascript 单击td函数时获取表的ID,javascript,jquery,html,Javascript,Jquery,Html,当单击表的td时,我试图获取表的id。我的代码如下所示: 名字 姓 约翰 雌鹿 简 雌鹿 函数editUnit(){ 设tableId=$(this).closest('table').attr('id'); 警报(tableId); } 如下更改代码 <td onclick="editUnit(this)">John</td> function editUnit(event){ let tableId = $(event).closest('tabl

当单击
表的
td
时,我试图获取表的
id
。我的代码如下所示:


名字
姓
约翰
雌鹿
简
雌鹿
函数editUnit(){
设tableId=$(this).closest('table').attr('id');
警报(tableId);
}

如下更改代码

<td onclick="editUnit(this)">John</td>

    function editUnit(event){

  let tableId = $(event).closest('table').attr('id');
  alert(tableId);
约翰 功能编辑单元(事件){ 让tableId=$(事件).closest('table').attr('id'); 警报(tableId);

}

更改代码如下

<td onclick="editUnit(this)">John</td>

    function editUnit(event){

  let tableId = $(event).closest('table').attr('id');
  alert(tableId);
约翰 功能编辑单元(事件){ 让tableId=$(事件).closest('table').attr('id'); 警报(tableId);
}您的问题是,在调用函数时,
上下文没有指向
td
,这就是您未定义的原因

因此,这里至少有两个选项:

  • “不太好”选项:将其传递给侦听器,并作为函数的参数获取,如下所示:
功能编辑单元(td){
让tableId=$(td).closest('table').attr('id');
console.log(tableId);
}

名字
姓
约翰
雌鹿
简
雌鹿

您的问题是在HTML上内联分配侦听器,当调用函数时,
上下文没有指向
td
,这就是您未定义的原因

因此,这里至少有两个选项:

  • “不太好”选项:将其传递给侦听器,并作为函数的参数获取,如下所示:
功能编辑单元(td){
让tableId=$(td).closest('table').attr('id');
console.log(tableId);
}

名字
姓
约翰
雌鹿
简
雌鹿

为什么不试试total jQuery

$("td").click(function(event) {
  let tableId = $(this).closest('table').attr('id');
  alert(tableId);
})

为什么不试试total jQuery呢

$("td").click(function(event) {
  let tableId = $(this).closest('table').attr('id');
  alert(tableId);
})

您可以在代码中尝试以下操作:

<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    <table id="table_1">
      <thead>
        <th>First Name</th>
        <th>Last Name</th>
      </thead>
      <tbody>
        <tr>
          <td onclick="editUnit(this)">John</td>
          <td>Doe</td>
        </tr>
        <tr>
          <td>Jane</td>
          <td>Doe</td>
        </tr>
      </tbody>
    </table>
    <script>
        function editUnit(event){

      let tableId = $(event).closest('table').attr('id');
      alert(tableId);
    </script>

名字
姓
约翰
雌鹿
简
雌鹿
功能编辑单元(事件){
让tableId=$(事件).closest('table').attr('id');
警报(tableId);

您可以在代码中尝试以下操作:

<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    <table id="table_1">
      <thead>
        <th>First Name</th>
        <th>Last Name</th>
      </thead>
      <tbody>
        <tr>
          <td onclick="editUnit(this)">John</td>
          <td>Doe</td>
        </tr>
        <tr>
          <td>Jane</td>
          <td>Doe</td>
        </tr>
      </tbody>
    </table>
    <script>
        function editUnit(event){

      let tableId = $(event).closest('table').attr('id');
      alert(tableId);
    </script>

名字
姓
约翰
雌鹿
简
雌鹿
功能编辑单元(事件){
让tableId=$(事件).closest('table').attr('id');
警报(tableId);

您还可以使用jQuery的
.parent()
方法()


您还可以使用jQuery的
.parent()
方法()