如何在HTML表格中获取TD的值?
即
| ID | cell 1 | cell 2 |
| 1 | aaaa | a2a2a2 |
| 2 | bbbb | b2b2b2 |
| 3 | cccc | c2c2c2 |
所以现在如果我点击单元格值:“bbbb”我想获得所选行的所有值:
$id='2'; $cell_1='bbbb'; $cell_2='b2b2b2';
注意:我想使用JavaScript而不是jQuery。
答案 0 :(得分:13)
你可以使用event.target.innerText用于javascript和$(event.target).text()用于jQuery,jQuery是首选解决方案,因为它处理cross browser competibilities。
仅使用javascript
<强> Live Demo 强>
HTML 的
<table id="tableID" onclick="myFun(event)" border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
的Javascript
function myFun(e){
alert(e.target.innerText); //current cell
alert(e.target.parentNode.innerText); //Current row.
}
使用jQuery
<强> Live Demo 强>
HTML 的
<table id="tableID" border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
的Javascript
$('#tableID').click(function(e){
alert($(e.target).text()); // using jQuery
})
答案 1 :(得分:2)
var table = document.getElementById('tableID'),
cells = table.getElementsByTagName('td');
for (var i=0,len=cells.length; i<len; i++){
cells[i].onclick = function(){
console.log(this.innerHTML);
/* if you know it's going to be numeric:
console.log(parseInt(this.innerHTML),10);
*/
}
}
答案 2 :(得分:2)
希望这会对你有所帮助。它包含跨浏览器脚本。
<html>
<head>
<script type="text/javascript">
function myFun(e){
if(!e.target)
alert(e.srcElement.innerHTML);
else
alert(e.target.innerHTML);
}
</script>
</head>
<body>
<table id="tableID" onclick="myFun(event)" border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
</body>
</html>
答案 3 :(得分:1)
使用jquery很容易..
$("#tableId").find("td").click(function(event){
var listOfCell=$(this).siblings();
for(i=0;i<listOfCell.length;i++){
alert($(listOfCell[i]).text());
}
});