【问题标题】:Hiding multiple spans in HTML Table Row在 HTML 表格行中隐藏多个跨度
【发布时间】:2017-02-11 17:53:22
【问题描述】:

我无法在表格行中隐藏 <span>。我想要一个引导程序徽章调用“ExpandDetail”来单击一个函数,然后隐藏自身,然后在同一个<tr> 中显示另一个名为“CollapseDetail”的<span>。请注意,<span> 都使用引导程序“徽章”类。调用元素可以很好地隐藏自己,但我在<tr> 中找不到关联的跨度来隐藏它。这是一个演示:

<tr>
    <td>12345
       <span id="ExpandDetail" style="cursor: pointer;" class="badge" onclick="return openDetail(this, ‘1’);">ABC 123</span> 
        <span id="CollapseDetail" style="cursor: pointer; visibility: hidden" class="badge" onclick="return closeDetail(this, ‘1’);">ABC 123 </span>
     </td>
     <td>$100.00</td>
     <td>$200.00</td>
</tr>

function openDetail(t, ID) {
    // Hides the calling <span> ExpandDetail just fine
    $(t).hide();
    // Need to show the <span> named  CollapseDetail
}

function closeDetail(t, ID){
    // Hides the calling <span> closeDetail just fine
    $(t).hide();

    // Need to show the <span> named ExpandDetail

}

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    不需要单独的功能。只需切换兄弟跨度

    function toggleDetail(t, ID){
    
       $(t).hide().siblings('.badge').show();
    
       // or use `toggle()` on both
    
       $(t).parent().find('.badge').toggle();
    }
    

    注意 css visibility 不受 hide() 或 show() 控制

    【讨论】:

    • $(t).hide().siblings('.badge').show();将隐藏“ExpandDetail”详细信息 .badge 类,但不显示默认情况下不可见的“CollapseDetail”跨度类。有什么想法吗?
    • 查看关于 visibility 的最后一条注释。尝试display:none 而不是visibility:hidden
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 2010-12-26
    相关资源
    最近更新 更多