2017-09-25 76 views
0

我在jQuery中獲取表的維度時遇到問題。jQuery。每個函數在html表上無法正常工作

我具有由循環產生的這樣的表:

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>'; 

凡山口,row_span和寬度和高度和作用與形式的數據庫。

  1. 在每個頁面上,此表格可能會有所不同。

  2. 表格骨架的尺寸很好,動作顯示在適當的單元格中,但我想將動作尺寸與單元格尺寸相適應。

但是,當我嘗試只顯示在控制檯的各單元的這樣的高度:

$('#table tr').each (function() { 

    console.log($('td').height()); 

或本:

$('.tdclass').each (function() { 

    console.log($(this).height()); 

它只顯示一個號碼,我可以不改變每個單元格的CSS。有人能告訴我如何正確地做到這一點?

+0

'的console.log($(本).height())檢查; '我想它會顯示一個數字,因爲所有的高度都可能相同,請檢查控制檯是否有重複的值。 – bhansa

+0

來自@bhansa的答案似乎是正確的。還有一點,我不認爲你可以指定百分比值的高度屬性,更好地使用CSS(style =「height:X%)..或者用TD代替TR ..COLSPAN也用於TD不是TR – parpar

+0

In控制檯,信息左邊有一個圈子裏有一個數字嗎? – Phil

回答

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()); 
    }) 
}); 
0

請嘗試以下

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

您可以在此Fiddle