得到每个tr的id不起作用

时间:2015-09-09 07:03:16

标签: javascript html

我在表中获取tr的id的代码无效。

我从mysql db中检索了表的数据并填充了表。但是为了更好更容易阅读,我们假设我在这里有这个表:

<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);
    });

但是它没有工作,它只是警告一个空字符串。为什么呢?

4 个答案:

答案 0 :(得分:1)

尝试将您的代码更改为下一个

$(".tablerow").click(function(event){
    var clicked = $(this),
        id;
    if(clicked.attr('id')){
        id = clicked.attr('id');          
    }
    else{
        id = clicked.parent().attr('id');
    }

    alert(id);
});

答案 1 :(得分:1)

假设您的页面上只有一个表:

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 code:

var table = document.getElementById("tableId");
var row = table.rows[index];
console.log(row.id);

答案 2 :(得分:1)

你应该使用:

Button

答案 3 :(得分:0)

试试这段代码,希望它对您有所帮助:

$(document).on("click",".tablerow",function(event){ 
    var id = this.id;
    alert(id);
});

如果仍然无法正常工作,请尝试检查您的jquery是否已声明。像这样:<script src="../js/jquery-1.11.1.min.js"></script>

享受!