我想知道是否有一种方法可以使用每个“a”元素上的 onclick 事件来获取表格每一行中的 id 属性。我尝试过类似的方法,但它总是得到第一个:
<table id="myTable" class="tablesorter">
<thead>
<tr>
<th class="header headerSortDown">Last Name</th>
<th class="header">First Name</th>
<th class="header headerSortUp">Email</th>
<th class="header">Due</th>
<th class="header">Web Site</th>
<th class="header">Del</th>
</tr>
</thead>
<tbody>
<tr class="tableContent" id="1">
<td>Smith</td>
<td>John</td>
<td>jsmith@gmail.com</td>
<td>$50.00</td>
<td>http://www.jsmith.com</td>
<td><a onclick="getid();">Del</a></td>
</tr>
<tr class="tableContent" id="2">
<td>Bach</td>
<td>Frank</td>
<td>fbach@yahoo.com</td>
<td>$50.00</td>
<td>http://www.frank.com</td>
<td><a onclick="getid();">Del</a></td>
</tr>
<tr class="tableContent" id="3">
<td>Doe</td>
<td>Jason</td>
<td>jdoe@hotmail.com</td>
<td>$100.00</td>
<td>http://www.jdoe.com</td>
<td><a onclick="getid();">Del</a></td>
</tr>
</tbody>
</table>
function getid(){
var id = $("a").closest(".tableContent").attr("id");
alert(id);
}
最佳答案
您没有传递所单击项目的引用。不过,我会避免使用内联事件处理程序(尤其是在使用 jQuery 时),并执行如下操作:
$(document).ready(function() {
$('.tableContent a').click(function() {
var id = $(this).closest('.tableContent').attr('id');
alert(id);
});
});
为了完整起见,以下是使用内联事件处理程序执行此操作的方法:
<a onclick="getid(this);">Del</a>
function getid(obj){
var id = $(obj).closest(".tableContent").attr("id");
alert(id);
}
关于javascript - 获取dom中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17666512/