找到其中一个单元格或td的colSpan标题是跨度 [英] Finding a colSpan Header for one of the cells or td's is Spans

查看:161
本文介绍了找到其中一个单元格或td的colSpan标题是跨度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有多个列标题,跨越多个列,我想为列找到正确的标题号/计数。



我想输入一列数字并获取标题:示例列5是RDataTest6 $('td.eq(5)),其标题是HTest3 $('th.eq(2))






示例:

 < table& 
< tr>
< th> HTest1< / th>
< th colSpan =2> HTest2< / th>
< th colSpan =4> HTest3< / th>
< th colSpan =2> HTest4< / th>
< / tr>
< tr>
< td> RDataTest1< / td>
< td> RDataTest2< / td>
< td> RDataTest3< / td>
< td> RDataTest4< / td>
< td> RDataTest5< / td>
< td> RDataTest6< / td>
< td> RDataTest7< / td>
< td> RDataTest8< / td>
< td> RDataTest9< / td>
< / tr>
< / table>

解决方案<

  var thLocator = [ ],colCount = 1; 
$ table.find('tr:first th')。each(function(){
for(var i = 0; i< this.colSpan; i ++){
thLocator。 push(colCount);
}
colCount ++;
});

$ table.find('td')。click(function(){
alert(thLocator [$(this).index()]);
});

然后随时可以获取td列的位置。请参见 DEMO - >点击任何TD以识别其头部位置。






我不知道你想要哪一个数字,所以我记下所有col数。请参阅 DEMO

  $(function(){
var $ table = $('table');

alert $ table.find('tr:first th')。length);

var thCount = 0;
$ table.find('tr:first th' ){
thCount + = this.colSpan;
});

alert('Computed TH Count'+ thCount);

alert表TD col计数'+ $ table.find('tr:eq(1)td')。length);
});


I have multiple column headers that spans of multiple column and I would like to find the correct header number/count for the columns.

I want to enter a column number and get the header: example column 5 is RDataTest6 $('td.eq(5)) and its header is HTest3 $('th.eq(2))


Example:

<table>
    <tr>
        <th>HTest1</th>
        <th colSpan="2">HTest2</th>
        <th colSpan="4">HTest3</th>
        <th colSpan="2">HTest4</th>         
    </tr>
    <tr>
        <td>RDataTest1</td>
        <td>RDataTest2</td>
        <td>RDataTest3</td>
        <td>RDataTest4</td>
        <td>RDataTest5</td>
        <td>RDataTest6</td>
        <td>RDataTest7</td>
        <td>RDataTest8</td>
        <td>RDataTest9</td>
    </tr>
</table>

解决方案

Edit: You should implement a simple array that hold the header location, see below,

var thLocator = [], colCount = 1;
$table.find('tr:first th').each(function () {
    for (var i = 0; i < this.colSpan; i++) {
        thLocator.push(colCount);
    }
    colCount++;
});

$table.find('td').click(function () {
    alert(thLocator[$(this).index()]);
});

And then anytime You can get the location of a td column. See DEMO -> Click on any TD to identify its col head position.


I am not sure which count you want so I wrote down all col count. See DEMO

$(function() {
    var $table = $('table');

    alert('Table Header Count ' + $table.find('tr:first th').length);

    var thCount = 0;
    $table.find('tr:first th').each(function () {
        thCount += this.colSpan;
    });

    alert('Computed TH Count ' + thCount );

    alert('Table TD Col Count ' + $table.find('tr:eq(1) td').length);
});

这篇关于找到其中一个单元格或td的colSpan标题是跨度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆