如果子跨度为空,则隐藏单元格内容
有一个表’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调用。
在这个例子中,我检查每个单元格是否包含除地图类之外的任何子项。 如果没有,那么我们可以安全地隐藏它。 您将看到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();