获取每个不工作的tr的id
Getting the id of each tr not working
获取表中tr的id的代码不工作。
我从mysql数据库中检索表的数据并填充表。但为了更好更容易阅读,让我们假设我有这样一个表:
<table>
<tr id = "1" class = "tablerow">
<td> Your awesome </td>
</tr>
<tr id = "2" class = "tablerow">
<td> Your great </td>
</tr>
<tr id = "3" class = "tablerow">
<td> Your amazing </td>
</tr>
</table>
还有js:
$(".tablerow").click(function(event){
var id = this.id;
alert(id);
});
但它不起作用,它只是警告一个空字符串。为什么?
尝试将代码更改为next
$(".tablerow").click(function(event){
var clicked = $(this),
id;
if(clicked.attr('id')){
id = clicked.attr('id');
}
else{
id = clicked.parent().attr('id');
}
alert(id);
});
假设您的页面上只有一个表:
document.getElementsByTagName("tr")[index].id;
最好是给表一个id,然后得到这样的行:
<table id="tableId">
<tr id = "1" class = "tablerow">
<td> Your awesome </td>
</tr>
<tr id = "2" class = "tablerow">
<td> Your great </td>
</tr>
<tr id = "3" class = "tablerow">
<td> Your amazing </td>
</tr>
</table>
js代码:
var table = document.getElementById("tableId");
var row = table.rows[index];
console.log(row.id);
你应该使用
$(".tablerow").click(function(event){
var id = $(this).attr('id');
alert(id);
});
解释
当你试图在click事件中访问this
时,你只访问元素,但你想选择那个DOM元素,所以你应该使用
$(this) //it will select the DOM element as a Jquery object.
然后你应该使用Jquery的attr方法来访问特定DOM元素的属性
你应该使用:
$(".tablerow").click(function(e) {
var proxy = this.id;
id = this.id;
console.log(id);
});
试试下面的代码,希望对你有所帮助:
$(document).on("click",".tablerow",function(event){
var id = this.id;
alert(id);
});
如果它仍然不工作,尝试检查你的jquery是否被声明。像这样:<script src="../js/jquery-1.11.1.min.js"></script>
享受吧!
相关文章:
- 如何在点击tr的td后获取tr的id's元素
- 正在获取循环中td元素的tr id
- 获得<tr>通常生成的ID
- 隐藏<tr>包含id中的变量's
- 选择具有动态 ID 的特定 tr 的特定 td
- j查询点击事件,用于在具有特定 ID 的表中动态添加 tr
- 如何在TR的最后一个TD中添加事件或将ID属性添加到IMG标签
- 正在JQUERY数据表的TR ID中设置数据行主ID
- 在javascript中使用tr id更新tr innerHTML
- 使用最接近的.attr获取错误的tr id
- 从同一个表中按tr id读取td值
- 创建<tr>在没有ID的表中使用JavaScript
- 基于TR ID从TD小区中删除类
- 添加&单击按钮时减去TR(ID+1)
- 无法通过TR id | datatable更新行
- 删除具有相同tr id的表之间的行
- 在jQuery中设置一个tr id
- 使用jQuery validate可以显示和隐藏TR ID元素吗
- 我需要将url与sharepoint列表tr id连接起来
- 使用jstl填充tr id标记