2015-10-09 33 views
1

如何检查一个TD是否有其他一些TD的溢出文本

如何检查的第二td

我需要获得第四td溢出内容td是否有其他td“ s溢出的文本,而且这td的文本溢出。

我该如何检查td,其中td的文本溢出了它。

这里是提前fiddle

感谢。

+0

可能重复[如何通过点击,如果它有以前的td的溢出文本](http://stackoverflow.com/questions/32988044/how-can-i-get-a-td-by-点击 - 如果它有先前-TDS-溢出文本) –

+0

@JaromandaX OP旧帖子是点击td,如果有溢出这一个是检查是否有溢出,我认为他们是不同的 – guradio

回答

0

请从CSS

删除white-space:nowrap;替换为下面的CSS的TD。

td{ 
border: 2px solid black; 
-webkit-user-select:none; 
width:25%; 
height:20px; 
overflow:visible; 
text-overflow:ellipsis; 
padding:0px; 
} 

Example

让我知道,如果它的作品!

+0

不相关的问题问。 –

1

我看到你的小提琴,我猜你没有显示溢出为ellipsis。显示溢出文本并检查td容器的其他td的内容不是一个好主意。试试这个片段,如果它解决您的问题写:

table{ 
 
    border-collapse: collapse; 
 
    table-layout:fixed; 
 
    width:500px; 
 
} 
 
td{ 
 
    border: 2px solid black; 
 
    width:25%; 
 
    height:20px; 
 
    padding:0px; 
 
} 
 
td > div{   /* ADDED */ 
 
    width: 100%; 
 
    overflow: hidden; 
 
    text-overflow:ellipsis; 
 
    white-space:nowrap; 
 
}
<div> 
 
    <table> 
 
     <tr> 
 
     <td></td> 
 
     <td> 
 
      <div>Second cell text overflow to Third cell</div> 
 
     </td> 
 
     <td></td> 
 
     <td></td> 
 
     </tr> 
 
     <tr> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     </tr> 
 
     <tr> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     <td></td> 
 
     </tr> 
 
    </table> 
 
</div>

注意:

我加divtd原因text-overflow不会为td元素工作。

+0

他想检查溢出不限制溢出如何检查第三个TD已经溢出的第二个TD的内容检查和限制是两个不同的东西 – guradio

+0

是的,他们是。但我猜想OP由于无法将溢出限制为省略号而希望检查溢出。谁在地球上希望包含来自其他tds的内容的表项? – Chris

1

更新回答

The first version工作了相邻的单元格。为了收集/查找所有可能受到影响的细胞,我提出了一种不同的方法。 请注意,此功能仅限于具有相同大小的单元格。如果你想处理不同的单元格大小,你需要修改受影响的单元格的计算。

$(function(){ 
    var self, index, affectedCells; 
    // loop over all cells... 
    $('td').each(function() { 
     // test if the cell contains a text too long.... 
     if(this.scrollWidth > $(this).outerWidth()) { 
      // in case the cell has too long text... 
      self = $(this); 
      self.addClass('has_overflow'); 

      // get current index 
      index = self.closest('tr').find('td').index(self); 

      // look how many cells are effected 
      affectedCells = Math.ceil(this.scrollWidth/self.outerWidth()) - 1; 

      // highlight all effected cells... 
      for(var i= 1; i <= affectedCells; i++) { 
       self.closest('tr') 
        .find('td:eq('+(index+ i)+')') 
        .addClass('is_overflown'); 
      } 

     } 
    }); 
}); 

更新的小提琴is here

+0

axel我想你应该添加类到下一个td,因为下一个td已经溢出了td溢出。 – guradio

+0

这个https://jsfiddle.net/zvbLz2n3/10/? – guradio

+0

相邻的单元格可以。如果第一个和第四个'td'的情况意味着,我怎样才能得到哪个'td'的文本在这里溢出。 –