简体   繁体   English

根据内容溢出更改表格单元格内容

[英]Change table cell contents based on content overflow

Is there a way to determine whether the content of a table cell would overflow (ie wrap to another line in the cell) and if so, change the content? 有没有一种方法可以确定表单元格的内容是否溢出(即换行到单元格的另一行),如果是,则更改内容?

I have a table, and one of the cells is for a "comment" field. 我有一张桌子,其中一个单元格用于“注释”字段。 If the comment is short enough to just be displayed in the field, I would like to just display the text. 如果评论足够短,只能显示在字段中,那么我只想显示文本。 However, if the comment is too long, I instead what to put a little icon in the cell that would show the full comment in a Bootstrap popover. 但是,如果注释太长,我会在该单元格中放置一个小图标,以在Bootstrap弹出窗口中显示完整的注释。

I'm guessing I'd have to fill the cell with the content, somehow check for overflow, and then overwrite the cell with my code for the Bootstrap popover, but I'm just not sure how to check if the content will "fit" in the cell or not. 我猜想我必须用内容填充单元格,以某种方式检查溢出,然后用我的Bootstrap popover代码覆盖单元格,但是我不确定如何检查内容是否“适合”是否在单元格中。

Either set the height of the cell and and set overflow:hidden;, which is kinda ugly, or split up the long comment and put the extra into a hidden span and use jquery to show hide it 要么设置单元格的高度,然后设置“ overflow:hidden;”(有点难看),要么将长注释分开,并将多余的内容放入隐藏的范围中,并使用jquery显示隐藏

fiddle 小提琴

HTML 的HTML

<table>
    <tr>
        <td valign="top" width="100px" >comment 1:</td>
        <td class="smallComment">Blah blah blah blah blah blah blah blah blah blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blah</td>       
    </tr>
        <tr>
        <td valign="top" width="100px">comment 2:</td>
            <td class="comment2">Blah blah blah blah blah blah blah blah blah blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah <span class="more">blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blah</span></td>       
    </tr>
        <tr>
        <td valign="top" width="100px" >comment 1:</td>
        <td>Blah blah blah blah blah blah blah blah blah blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blha blah blah blah blah</td>       
    </tr>
</table>

CSS 的CSS

.smallComment {
   display:block; 
   height:30px; 
   overflow:hidden;
}
.more {
    display:none;
}

JAVASCRIPT JAVASCRIPT

jQuery(document).ready(function() {
    jQuery(".comment2").click(function() {

        jQuery(this).find(".more").slideToggle(600);
    });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM