Html table 单元格值
Html table cell value
如果我有 html table 单元格的相应行号和列号,如何从 html table 中获取单元格值?
例如如果行号为1,列号为3,如何取单元格值?
我是这样用的,没用:
var value=document.getElementById("tablename").rows[len].cells[colno].innerHTML;
我正在尝试获取特定列的值。
您可以使用eq()
函数:
插入行号和单元格并得到结果:
var getVal = function(trNum, tdNum) {
var a = trNum - 1;
var b = tdNum - 1;
return $('#tbl').find('tr').eq(a).find('td').eq(b).text();
}
$('#getRes').on('click', function() {
var r = $('#line').val();
var c = $('#cell').val();
if (r && r.length > 0 && c && c.length > 0) {
$('#text').html('Result: ' + getVal(r,c));
} else {
alert('Insert data!');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table id="tbl">
<tbody>
<tr>
<td>1.1</td>
<td>1.2</td>
<td>1.3</td>
</tr>
<tr>
<td>2.1</td>
<td>2.2</td>
<td>2.3</td>
</tr>
</tbody>
</table>
<label for="line">Line</label>
<input id="line" type="number" /><br />
<label for="cell">Cell</label>
<input id="cell" type="number" /><br />
<button id="getRes">Get result</button>
<p id="text"></p>
<table id="mytable" style="width:100%">
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
Jquery
var rowno=0;
var colno=0;
var output=$("#mytable tr:eq("+rowno+") td:eq("+colno+")").html();
输出是杰克逊
eq selector
要匹配的元素的从零开始的索引。
你有的很好,记住行和列是基于 0 的:
//row 1 col 3
var len = 1 - 1;
var colno = 3 - 1;
var value = document.getElementById("tablename").rows[len].cells[colno].innerHTML;
alert(value);
<table id="tablename">
<tr><td>11</td><td>12</td><td>13</td></tr>
</table>
你所做的几乎是正确的。只需对从 table 获得的内容使用 parseInt 或 parseFloat。这是一个https://jsfiddle.net/4Ly53eoq/
如果是整数则为 parseInt,如果是小数则为 parseFloat:
value; /* is a string */
parseInt( value ); /* is an integer */
parseFloat( value ); /* is a float */
如果我有 html table 单元格的相应行号和列号,如何从 html table 中获取单元格值?
例如如果行号为1,列号为3,如何取单元格值?
我是这样用的,没用:
var value=document.getElementById("tablename").rows[len].cells[colno].innerHTML;
我正在尝试获取特定列的值。
您可以使用eq()
函数:
插入行号和单元格并得到结果:
var getVal = function(trNum, tdNum) {
var a = trNum - 1;
var b = tdNum - 1;
return $('#tbl').find('tr').eq(a).find('td').eq(b).text();
}
$('#getRes').on('click', function() {
var r = $('#line').val();
var c = $('#cell').val();
if (r && r.length > 0 && c && c.length > 0) {
$('#text').html('Result: ' + getVal(r,c));
} else {
alert('Insert data!');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table id="tbl">
<tbody>
<tr>
<td>1.1</td>
<td>1.2</td>
<td>1.3</td>
</tr>
<tr>
<td>2.1</td>
<td>2.2</td>
<td>2.3</td>
</tr>
</tbody>
</table>
<label for="line">Line</label>
<input id="line" type="number" /><br />
<label for="cell">Cell</label>
<input id="cell" type="number" /><br />
<button id="getRes">Get result</button>
<p id="text"></p>
<table id="mytable" style="width:100%">
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
Jquery
var rowno=0;
var colno=0;
var output=$("#mytable tr:eq("+rowno+") td:eq("+colno+")").html();
输出是杰克逊
eq selector
要匹配的元素的从零开始的索引。
你有的很好,记住行和列是基于 0 的:
//row 1 col 3
var len = 1 - 1;
var colno = 3 - 1;
var value = document.getElementById("tablename").rows[len].cells[colno].innerHTML;
alert(value);
<table id="tablename">
<tr><td>11</td><td>12</td><td>13</td></tr>
</table>
你所做的几乎是正确的。只需对从 table 获得的内容使用 parseInt 或 parseFloat。这是一个https://jsfiddle.net/4Ly53eoq/
如果是整数则为 parseInt,如果是小数则为 parseFloat:
value; /* is a string */
parseInt( value ); /* is an integer */
parseFloat( value ); /* is a float */