jQuery .each函数在html表上无法正常工作

时间:2017-09-25 06:46:54

标签: php jquery html html-table

我在jQuery中获取表的维度时遇到了问题。

我有一个从这样的循环生成的表:

if(something) {
    echo '<tr class="trclass" height="'.$a['percentHeight'].'%" colspan="'.$a['col_span'].'">';
}

if(something else) {
    echo '<td class="tdclass" width="'.$a['percentWidth'].'%" rowspan="'.$a['row_span'].'">';
    if (condition == 1) echo $action['1'];
    if (condition == 2) echo $action['2'];
    if (condition == 3) echo $action['3'];
}
echo '</td>';

其中col,row_span和width,height和action是表单数据库。

  1. 在每个页面上,此表可能会有所不同。

  2. 表格骨架的尺寸很好,动作显示在适当的单元格中,但我希望将动作尺寸与单元格尺寸相匹配。

  3. 但是当我尝试只在控制台中显示每个单元格的高度时:

    $('#table tr').each (function() {
    
        console.log($('td').height());
    

    或者这个:

    $('.tdclass').each (function() {
    
        console.log($(this).height());
    

    它只显示一个数字,我无法更改每个单元格的CSS。有人能告诉我如何正确地做到这一点吗?

2 个答案:

答案 0 :(得分:3)

$('#table tr').each (function() {
    console.log($($(this).find('td').get(0)).height());
});

OR

$('#table tr').each (function() {
  $(this).find('td').each(function(){
    console.log($(this).height());
  })
});

答案 1 :(得分:0)

尝试以下

$("table").find("td").each(function() {
  console.log($(this).height());
});

您可以在此Fiddle

中查看