查找<;td>;使用任何javascript库的相应单元格的列值
查找<;td>;使用任何javascript库的相应单元格的列值,javascript,jquery,html,Javascript,Jquery,Html,0 1. 2. 3. A. B X Y 这种方法基本上是将表数据存储到一个数组中,如果您想要扩展或修改表的结构行span。(这不支持colspan) $(函数(){ var tableArr=[], totalRow=$('table tr')。长度, totalCol=0; $('table tr')。每个(函数(){ var colLength=$(this).children('td').length; totalCol=colLength>totalCol?colLength:tota
0
1.
2.
3.
A.
B
X
Y
这种方法基本上是将表数据存储到一个数组中,如果您想要扩展或修改表的结构行span。(这不支持colspan)
$(函数(){
var tableArr=[],
totalRow=$('table tr')。长度,
totalCol=0;
$('table tr')。每个(函数(){
var colLength=$(this).children('td').length;
totalCol=colLength>totalCol?colLength:totalCol;
});
对于(var r=0;r0){
对于(变量i=0;i
0
1.
2.
3.
A.
B
X
Y
这种方法基本上是将表数据存储到一个数组中,如果您想要扩展或修改表的结构行span。(这不支持colspan)
$(函数(){
var tableArr=[],
totalRow=$('table tr')。长度,
totalCol=0;
$('table tr')。每个(函数(){
var colLength=$(this).children('td').length;
totalCol=colLength>totalCol?colLength:totalCol;
});
对于(var r=0;r0){
对于(变量i=0;i
0
1.
2.
3.
A.
B
X
Y
以下是最新版本
它获取索引并查找行span
s并计算可见索引
function getColumnNumber(text) {
var $table = $("table").eq(0);
$("td:contains(" + text + ")").css("color", "red");
var $td = $("td:contains(" + text + ")"),
$tr = $td.parent(),
tdPosition = $td.index(),
trPosition = $tr.index(),
position = parseInt(tdPosition);
for (i = 0; i < trPosition; i++) {
for (j = 0; j <= tdPosition; j++) {
var rowSpan = parseInt($table.find('tr').eq(i).find('td').eq(j).attr("rowspan"));
if (typeof rowSpan !== "number") {
rowSpan = 0;
}
if (rowSpan > trPosition) {
position++;
tdPosition++;
}
}
}
console.log(text + " pos: " + position);
return position;
};
getColumnNumber('A');
getColumnNumber('B');
getColumnNumber('1');
getColumnNumber('Y');
函数getColumnNumber(文本){
var$table=$(“table”).eq(0);
$(“td:contains(“+text+”)).css(“颜色”、“红色”);
var$td=$(“td:contains(“+text+”)),
$tr=$td.parent(),
tdPosition=$td.index(),
trPosition=$tr.index(),
位置=parseInt(tdPosition);
对于(i=0;i
以下是最新版本
它获取索引并查找行span
s并计算可见索引
function getColumnNumber(text) {
var $table = $("table").eq(0);
$("td:contains(" + text + ")").css("color", "red");
var $td = $("td:contains(" + text + ")"),
$tr = $td.parent(),
tdPosition = $td.index(),
trPosition = $tr.index(),
position = parseInt(tdPosition);
for (i = 0; i < trPosition; i++) {
for (j = 0; j <= tdPosition; j++) {
var rowSpan = parseInt($table.find('tr').eq(i).find('td').eq(j).attr("rowspan"));
if (typeof rowSpan !== "number") {
rowSpan = 0;
}
if (rowSpan > trPosition) {
position++;
tdPosition++;
}
}
}
console.log(text + " pos: " + position);
return position;
};
getColumnNumber('A');
getColumnNumber('B');
getColumnNumber('1');
getColumnNumber('Y');
函数getColumnNumber(文本){
var$table=$(“table”).eq(0);
$(“td:contains(“+text+”)).css(“颜色”、“红色”);
var$td=$(“td:contains(“+text+”)),
$tr=$td.parent(),
tdPosition=$td.index(),
trPosition=$tr.index(),
位置=parseInt(tdPosition);
对于(i=0;i
使用:contains()
selector@guradio并考虑行span
。使用:contains()
selector@guradio并考虑行span
。这不会返回列号。而行span
?我的情况是需要将所有行的数据与第一行合并。因此,在遍历每个td时,我需要知道它属于哪一列,以便我可以将它合并到该列第一行的td。如果有任何其他方法来解决我的问题,请帮助我。@wrufesh您的表的预期结果是什么?您的解决方案给出的索引不包括被rowspan占用的td。这不会返回列号。rowspan
?我的情况是需要将所有行的数据与第一行合并。因此,在遍历每个td时,我需要知道它属于哪一列,以便我可以将它合并到该列第一行的td。如果有任何其他方法可以解决我的问题,请帮助我。@wrufesh您的表的预期结果是什么?您的解决方案给出的索引不包括被rowspan吞没的td。如果我们有一些元素而不是A呢?这个脚本有效吗?意味着你将搜索其他内容?我们总是可以重新定义检索行中列的编程索引的搜索函数。我必须调用getColumnNumber('Foo')之类的函数。或者getColumnNumber($('.link'))。好的。我可以添加另一个参数,您可以指定搜索项目的函数。如果我们有某个元素而不是某个元素,该怎么办?这个脚本有效吗?意味着你将搜索其他内容?我们总是可以重新定义检索行中列的编程索引的搜索函数。我必须调用getColumnNumber('Foo')之类的函数。或者getColumnNumber($('.link'))。好的。我可以添加另一个参数,您可以指定搜索项目的函数。