2011-11-30 75 views
0

可能重复:
Hide link from a cell if other elements in that cell are empty如果父跨度为空,则隐藏链接?

如何隐藏“地图和路线”链接,如果父跨度没有价值?如果没有办公室名称,地址,电话和工作时间,我想隐藏地图和方向链接。就像第一个单元格中有所有这些值,所以我想要地图和方向显示,但在第二个单元格中,因为没有值,地图和路线的链接应该隐藏..如何使用jquery做到这一点?

<tr>          
    <td class="Office3" style="border-top:1px dotted silver; width:40%;"> 
    <span class="OfficeName"> 
    St. Margaret Hospital<br /> 
    </span> 
    <span class="Address"> 
    2001 86th Street West, <br />Indianapolis, IN 46260 </span> 
    <span class="Phone"> 
    (317) 342-1254</span><br /> 
    <a class="mapdirectionsLink" href="#">map &#38; directions&#62;</a><br /><br /> 
    <span class="Hours"> 
    MTW: 9:00 AM- 5:00 PM </span> 
    </td> 
    <td class="Office4" style="border-top:1px dotted silver; width:40%"> 
    <span class="OfficeName"> 
    &#160;<br /> 
    </span> 
    <span class="Address"> 
    <div dir=""></div>&#160;</span>          
    <span class="Phone"> 
    &#160;</span><br /> 
    <a class="mapdirectionsLink" href="#">map &#38; directions&#62;</a><br /><br /> 
    <span class="Hours"> 
    &#160;</span>      
    </td> 
</tr> 
+0

我想这一点,但它隐藏的链接不管父跨越具有文本或不.. $ ('a.mapdirectionsLink')。each(function(){if($)this.prev('span').text()==''){ \t $(this).hide() ; \t \t} \t}); – AJSwift

+0

这是因为之前的标签不是“跨度”。这是一个“br”。 –

回答

1

假设所有<td> s为表中的带班“办公室”:

$("table.offices td").filter(function() { 
    return $(this).children("span").map(
    function() { return $.trim($(this).text()); } 
).toArray().join("") == ""; 
}).find("a.mapdirectionsLink").hide(); 
+0

如果我们忘记了桌子,只是考虑到这一点,你会如何隐藏链接?如果这些范围中的任何一个是空的,隐藏的链接?的 圣玛格丽特医院
2001年第86街西,
印第安纳波利斯,在46260
<跨度类= “电话”> (317)342-1254
map & directions>

<跨度类= “小时”> MTW:9:00 AM- 5:00 PM – AJSwift