[英]Cell height of a Dynamic table
我有一个动态的html表(通过Jinja for loop从数据库文件获取其内容)。 第一列包含一个人的图片和用户名。 我想基于其名为“ fitin”的父div的固定高度来调整用户名的字体大小,因此,当名称较长时,它会变小而不是转到第二行。
<tdody>
{% for i in players %}
<tr>
<td>
<div class='fitin'> <!-- in css file, .fitin {height: 50px;} -->
<div>
<img src=''> <p class='username'>{{ i.username }}</p> <!-- in css file, p {display: inline;} -->
</div>
</div>
</td>
<td>{{ i.join_date }}</td>
</tr>
{% endfor %}
</tbody>
$(document).ready(function() {
$('table tr').each(function(){
console.log($('.fitin').height()); // I get 50 for '.fitin'
console.log($('.fitin div').height()); // and something like 33 for all the '.fitin div'
});
});
现在我的问题是我无法在div'fitin'中获得正确的div高度以反映实际高度,相反,即使显示的表中包含很少的长用户名,我也为每行获取一个固定的数字图片的下一行。
请您告诉我我做错了什么吗?
谢谢
您发布的代码不是HTML,而是您的模板代码。 如果您将损坏实例的实际HTML输出发布为JSFiddle,那将是理想的选择。
阅读您的评论后,我现在了解您的问题。 您总是得到第一个 .fitin
div。 该代码将起作用:
$('table tr').each(function(){
console.log($(this).find('.fitin').height()); // I get 50 for '.fitin'
console.log($(this).find('.fitin div').height()); // and something like 33 for all the '.fitin div'
});
现在,您将引用每个 <tr>
的子.fitin
。
试试这个,让我们知道...
var cHeight1 = document.getElementsByClassName('.fitin').clientHeight;
var cHeight2 = document.getElementsByClassName('.fitin div').clientHeight;
要么
var oHeight1 = document.getElementById('.fitin').offsetHeight;
var oHeight2 = document.getElementById('.fitin div').offsetHeight;
希望这可以帮助..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.