如果子跨度为空,则隐藏单元格内容

有一个表’OfficeInfo’,有两行,每行2个单元格。 每个单元格都有Office信息,如姓名,地址,电话和方向链接。 我需要隐藏方向链接(基于地址值的谷歌地图链接)或隐藏整个单元格,如果其他信息,如名称,地址,电话等是空白的..小时说其他一切都是空的,隐藏’地图和方向’链接以及整个单元格…如何在Jquery中做?

Munster Women's Center
1111 North Ronald Reagan Pkwy,
 Avon,IN 46123
(317) 342-1254
map & directions>

MTW: 9:00 AM- 5:00 PM

map and directions

Office3 Office4

由于您没有包含最终的HTML,因此很难说。 始终尝试包含我们将在页面上看到的内容,而不是通用的sharepoint调用。

http://jsfiddle.net/Ctjcv/7/

在这个例子中,我检查每个单元格是否包含除地图类之外的任何子项。 如果没有,那么我们可以安全地隐藏它。 您将看到cell1显示链接,因为其他数据存在而单元格2不存在。

 $('.OfficeInfo td').each( function() { if ($(this).children(':empty').not('.mapdirectionsLink, br').length > 0) { $(this).children('.mapdirectionsLink').hide(); } }); 

你可以使用text()方法

 $('.OfficeInfo tr td').each(function() { if ($(this).children().not('.mapdirectionsLink').text().replace(/^\s+|\s+$/g,"") == '') { $(this).children('.mapdirectionsLink').hide(); } }); 

你可以在这里找到JSFiddle

有一个额外的装饰控制..

编辑:我只是为mrtsherman的解决方案添加一些额外的东西..

编辑2:如果这里没有地图信息JSFiddle,我改变了隐藏所有元素的function
如果要删除元素(不隐藏),可以更改

 $(this).children('*').hide(); 

符合:

 $(this).children('*').remove();