jQuery 遍历的 eq() 方法将匹配元素集缩减值指定 index 上的一个,index表示元素的位置(最小为 0)。所以获取Table第 i 行第 j 列的内容可用如下代码
$("table")find("tr")eq(i-1)find("td")eq(j-1)text(); // 注意-1是因为index从0开始计数
实例
创建Html元素
<div class="box">
<span>填写行列数,点击按钮后获取对应位置的数值:</span>
<div class="content">
<table>
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>4</td><td>5</td><td>6</td></tr>
<tr><td>7</td><td>8</td><td>9</td></tr>
</table>
</div>
第<input type="text" name="row">行,第<input type="text" name="col">列<input type="button" class="btn" value="确定">
</div>
添加css样式
divbox{width:300px;height:250px;padding:10px 20px;border:4px dashed #ccc;}
divbox>span{color:#999;font-style:italic;}
divcontent{width:250px;height:100px;margin:10px 0;padding:5px 20px;border:2px solid #ff6666;}
input[type='text']{width:35px;height:30px;border:1px solid #99ccff;}
input[type='button']{width:100px;height:30px;margin:10px;border:2px solid #ebbcbe;}
selected{background:#99ccff;}
table{border-collapse:collapse;}
td{padding:5px 10px;border:1px solid green;}
编写jquery代码
$(function(){
$("input:button")click(function() {
row = $("input[name='row']")val() - 1;
col = $("input[name='col']")val() - 1;
val = $("table")find("tr")eq(row)find("td")eq(col)text();
alert(val);
});
})
1、遍历tr,得到鼠标所在tr的索引值,然后用二楼所说的方法判断奇偶;
2、用jQuery方便很多,在选择器后面加上":even"便选择的是索引值为偶数的元素,加":odd"便是索引值为奇数的元素。
下面是实现的代码,包括jQuery的:
<html>
<head>
<title></title>
<script type="text/javascript" src="jquery/jquery-142js"></script>
<script type="text/javascript">
function changeStyle(elementId) {
var testTable = documentgetElementById("testTable")children[0];
for(var i = 0; i < testTablechildrenlength; i++) {
if(testTablechildren[i] == elementId) {
if(i % 2 == 1) //奇数
elementIdstylebackground = "red";
else //偶数
elementIdstylebackground = "blue";
}
}
}
//清除样式
function changeBack(elementId) {
elementIdstylebackground = "";
}
/
jQuery方法:
/
$(document)ready(function() {
$("#jqueryTable tr:even")mouseover(function() {
$(this)css("background", "red");
});
$("#jqueryTable tr:odd")mouseover(function() {
$(this)css("background", "blue");
});
$("#jqueryTable tr")mouseout(function() {
$(this)css("background", "");
});
});
</script>
</head>
<body>
<table id="testTable" border="1">
<tr onmouseover="changeStyle(this)" onmouseout="changeBack(this)">
<td>第</td><td>一行</td>
</tr>
<tr onmouseover="changeStyle(this)" onmouseout="changeBack(this)">
<td>第</td><td>二行</td>
</tr>
<tr onmouseover="changeStyle(this)" onmouseout="changeBack(this)">
<td>第</td><td>三行</td>
</tr>
<tr onmouseover="changeStyle(this)" onmouseout="changeBack(this)">
<td>第</td><td>四行</td>
</tr>
<tr onmouseover="changeStyle(this)" onmouseout="changeBack(this)">
<td>第</td><td>五行</td>
</tr>
</table>
<table id="jqueryTable" border="1">
<tr>
<td>第一行</td>
</tr>
<tr>
<td>第二行</td>
</tr>
<tr>
<td>第三行</td>
</tr>
<tr>
<td>第四行</td>
</tr>
<tr>
<td>第五行</td>
</tr>
</table>
</body>
</html>
表格的第一行为thead中的th
剩下的数据放到tbody中
最后那一行添加的放到tfoot中
对tbody下面的所有tr绑定一个点击事件
事件中获取这个tr下的所有td,就可以获取这行的数据了
大概代码如下:
var trs =documentgetElementById("tbodyId")getElementsByTagName("tr");
for(int i=0;i<=trslength;i++)
{
var tr = trs[i];
var tds=trgetElementsByTagName("td");
//下面遍历tds就可以去获取数据了
//把数据放到下面的表单就好了
//然后提交数据,在服务端进行修改
}
获取行/列
var colcount=wbWorksheets(1)UsedRangeCellsRowsCount ;
var colcolumn=wbWorksheets(1)UsedRangeColumnsCount;
读取本地Excel文件内容的Javascript代码:
<script type="text/javascript">
function read_excel(){
var filePath="D:\abcd9comxls"; //要读取的xls
var sheet_id=2; //读取第2个表
var row_start=3; //从第3行开始读取
var tempStr='';
try{
var oXL = new ActiveXObject("Excelapplication"); //创建ExcelApplication对象
}catch(err)
{
alert(err);
}
var oWB = oXLWorkbooksopen(filePath);
oWBworksheets(sheet_id)select();
var oSheet = oWBActiveSheet;
var colcount=oXLWorksheets(sheet_id)UsedRangeCellsRowsCount ;
for(var i=row_start;i<=colcount;i++){
if (typeof(oSheetCells(i,8)value)=='date'){ //处理第8列部分单元格内容是日期格式时的读取问题
d= new Date(oSheetCells(i,8)value);
temp_time=dgetFullYear()+"-"+(dgetMonth() + 1)+"-"+dgetDate();
}
else
temp_time=$trim(oSheetCells(i,7)valuetoString());
tempStr+=($trim(oSheetCells(i,2)value)+" "+$trim(oSheetCells(i,4)value)+" "+$trim(oSheetCells(i,6)valuetoString())+" "+temp_time+"\n");
//读取第2、4、6、8列内容
}
return tempStr; //返回
oXLQuit();
CollectGarbage();
}
</script>
windowonload = function(){
var trs = documentgetElementsByTagName('tr');
for(var i=0;i<trslength;i++)
{
var tds=trs[i]getElementsByTagName('td');
for(var j=0;j<tdslength;j++)
{
tds[j]onclick = function(){
alert(thisinnerHTML);
}
}
}
}
这样就可以了。不过要注意,js里面对应每一行有rowIndex这个值,但是对每个cell(就是你说的每一行里的每个列)就没有类似的东西了。
以上就是关于js怎么获取表格中指定行某一列的值全部的内容,包括:js怎么获取表格中指定行某一列的值、javascript怎样 获取表格奇数行偶数行、怎么用JavaScript获取table某行数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)