我有一个HTML表格,它是由php的MySQL数据库填充的。我使用Bootstrap提供的css。无论如何,我的问题是,在一些列中,我在每个单元格中都包含一个长文本。我使用的是隐藏内容的css,因为我想让我的桌面尽可能紧凑。我尝试了jQuery的解决方案,但是我对它并不是很满意,并且它不起作用。我知道有关于此的其他讨论,但我无法做出这些工作。在表格单元格中隐藏/显示长文本HTML
<tbody aria-live="polite" aria-relevant="all">
<?php
$i=0;
while ($i < $num) {
$process=mysql_result($risultati,$i,"process");
$A=mysql_result($risultati,$i,"A");
$B=mysql_result($risultati,$i,"B");
$time_A=mysql_result($risultati,$i,"time_A");
$time_B=mysql_result($risultati,$i,"time_B");
?>
<tr class="odd">
<td><font face="Arial, Helvetica, sans-serif"><?php echo $process;?></font></td>
<td ><div id="text"><a class="toggle"><font face="Arial, Helvetica, sans-serif"><?php echo $A;?></font></a></div></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $B;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $time_A;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $time_B;?></font></td>
</tr>
<?php
$i++;
}
?>
</tbody>
这里的脚本:
<script>
$('.toggle').click(function(){
var target = $(this).closest('#text');
if (target.hasClass('expanded')) {
target.removeClass('expanded');
$(this).text('(expand)');
} else {
target.addClass('expanded');
$(this).text('(collapse)');
}
});
</script>
而这里的CSS:
#text {
white-space:nowrap;
overflow:hidden;
width:300px;
text-overflow:ellipsis;
-o-text-overflow:ellipsis;
}
#text.expanded {
max-height:none;
}
在td title属性中设置实际的完整值,它将在鼠标悬停时显示。 – malkam
你在循环中使用id =“text”,这会导致很多元素具有相同的id。这可能会打破你的jQuery调用,而不是使用类 – Michiel
什么是标签???请改用css! – Michiel