我有一個表,如下所示:jQuery的 - 隱藏的表,如果它包含1 <tr>和1含
<table>
<tr>
<td> </td>
</tr>
</table>
哪有AI結構的jQuery選擇以這樣一種方式,它的外觀對於包含
的單元格的表格並將表格設置爲display: none;
請幫助嗎?
我有一個表,如下所示:jQuery的 - 隱藏的表,如果它包含1 <tr>和1含
<table>
<tr>
<td> </td>
</tr>
</table>
哪有AI結構的jQuery選擇以這樣一種方式,它的外觀對於包含
的單元格的表格並將表格設置爲display: none;
請幫助嗎?
$('table').each(function()
{
var $table = $(this),
numTRs = $table.find('tr').length,
$tds = $table.find('td'),
numTDs = $tds.length;
if (numTRs === 1 && numTDs === 1 && $tds.html() === ' ')
{
$table.hide();
}
});
這將根據規範工作,仍然是純粹的Jquery:
$('table tr:only-child td:only-child').filter(function() {
return $(this).html() === ' ';}).closest("table").hide();
什麼困擾我的是在表中的特殊字符。否則它會更簡單。
<table>
<tr>
<td>nbsp</td>
</tr>
</table>
<script type="text/javascript">
$('table tr:only-child td:only-child:contains("nbsp")').closest("table").hide();
</script>
你可能會認爲這是可行的。但事實並非如此。 http://jsfiddle.net/loktar/tq3TQ/ – Loktar 2011-03-31 14:27:29
這並不檢查包含恰好1'
「看起來像」與Exactly不一樣;-) – Guidhouse 2011-03-31 14:37:40
看一看在following
$('table').each(function() {
var $this = $(this);
var trCount = $this.find('tr').length;
var tdCount = $this.find('td').length;
if (trCount == 1 && tdCount == 1) {
var tdContents = $this.find('td:first').html();
if (tdContents == ' ') {
setTimeout(function() {
$this.hide();
}, 2000);
}
}
});
嗯..這似乎沒有工作要麼http://jsfiddle.net/loktar/tq3TQ/1/文本爲nbsp;顯示爲一個空白區域。 – Loktar 2011-03-31 14:30:40
將'$ tds.text()===' ''更改爲'$ tds.html()===' '',它將起作用http://jsfiddle.net/markcoleman/6xGRM/1/ – 2011-03-31 14:32:22
尼斯@Matt Ball +1和@Mark – Loktar 2011-03-31 14:36:41