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()
方法()