gpt4 book ai didi

html-table - 隐藏表格中的空单元格

转载 作者:行者123 更新时间:2023-12-04 03:01:38 26 4
gpt4 key购买 nike

我想隐藏表格中的空单元格。这是我的代码:

$(function() {
$(".empty").each(hideCellIfEmpty);
});

function hideCellIfEmpty() {
var theCell = $(this);
if (theCell.html().length == 0) {
hideSoft(theCell);
}
}

function hideSoft(jQElement) {
jqElement.css('visibility', 'hidden');
}
table.empty {
width: 350px;
border-collapse: collapse;
empty-cells: hide;
}
td.empty {
border-style: solid;
border-width: 1px;
border-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<table class="empty">
<tr>
<th></th>
<th>Title one</th>
<th>Title two</th>
</tr>
<tr>
<th>Row Title</th>
<td class="empty">value</td>
<td class="empty">value</td>
</tr>
<tr>
<th>Row Title</th>
<td class="empty">value</td>
<td class="empty"></td>
</tr>
</table>


您可以看到,空单元格显示在第二行。但我想隐藏它。而且,我不想使用 border-collapse:separate .是否可以使用 border-collapse:collapse 隐藏空单元格? ?我也想知道为什么这显示空单元格。

附言使用 border-collapse: separate正在工作并且不显示空单元格。

$(function() {
$(".empty").each(hideCellIfEmpty);
});

function hideCellIfEmpty() {
var theCell = $(this);
if (theCell.html().length == 0) {
hideSoft(theCell);
}
}

function hideSoft(jQElement) {
jqElement.css('visibility', 'hidden');
}
table.empty {
width: 350px;
border-collapse: separate;
empty-cells: hide;
}
td.empty {
border-style: solid;
border-width: 1px;
border-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<table class="empty">
<tr>
<th></th>
<th>Title one</th>
<th>Title two</th>
<th>Title three</th>
</tr>
<tr>
<th>Row Title</th>
<td class="empty">value</td>
<td class="empty">value</td>
<td class="empty">value</td>
</tr>
<tr>
<th>Row Title</th>
<td class="empty">value</td>
<td class="empty"></td>
<td class="empty">value</td>
</tr>
</table>


但这并不能回答这些问题:
  • 为什么border-collapse: collapse时显示空单元格用来 ?
  • 为什么border-collapse: separate时不显示空单元格用来 ?
  • 最佳答案

    如果您的网站不需要支持 IE 8 及以下,您可以使用 CSS :empty伪类:

    td:empty {
    visibility: hidden;
    }

    table.empty {
    width: 350px;
    border-collapse: collapse;
    empty-cells: hide;
    }
    td.empty {
    border-style: solid;
    border-width: 1px;
    border-color: blue;
    }
    td:empty {
    visibility: hidden;
    }
    <table class="empty">
    <tr>
    <th></th>
    <th>Title one</th>
    <th>Title two</th>
    </tr>
    <tr>
    <th>Row Title</th>
    <td class="empty">value</td>
    <td class="empty">value</td>
    </tr>
    <tr>
    <th>Row Title</th>
    <td class="empty">value</td>
    <td class="empty"></td>
    </tr>
    </table>


    更多关于 :empty伪类可以在 https://developer.mozilla.org/en-US/docs/Web/CSS/:empty 找到

    关于html-table - 隐藏表格中的空单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12023771/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com