2017-02-09 22 views
-1

我用下面的代碼: 這是HTML表格:JQuery的隱藏功能適用於日而不是TD

<table id="preTbl"> 
     <tr> 
     <th>Type</th> 
     <th>Origin</th> 
     <th>Count</th> 
     <th>Age Range</th> 
     <th>Gender</th> 
     </tr> 
     <tr ng-repeat="row in returnData" class="centered"> 
      <td>{{ row.TypeName }}</td> 
      <td>{{ row.Origin }}</td> 
      <td>{{ row.Count }}</td> 
      <td>{{ row.ageRange}}</td> 
      <td>{{ row.gender}}</td> 
     </tr> 
    </table> 

我與用戶JS功能點擊搜索:

$("#preTbl th:nth-child(4)").hide(); 
$("#preTbl td:nth-child(4)").hide(); 

的日隱藏得很好,但td不會隱藏。

+0

請添加更多相關代碼。 –

+0

td是不是隱藏的元素的子元素嗎?或者它是直接的孩子? –

+0

請顯示html – Brian

回答

2

Working fiddle

:第n個孩子(n)的僞類是與容易混淆:當量(N),即使兩個可導致顯着不同的匹配元素。對於:nth-​​child(n),所有的孩子都被計數,不管它們是什麼,只有當它與匹配僞類的選擇符相匹配時才選擇指定的元素。對於:eq(n)僅附加到僞類的選擇器被計數,不限於任何其他元素的子元素,並且選擇第(n + 1)個(n是從0開始的)。

您可能需要使用:eq().eq()代替:

$("#preTbl th:eq(2), #preTbl td:eq(2)").hide(); 

希望這有助於。

$("#preTbl th:eq(2), #preTbl td:eq(2)").hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<table style="width:100%" id='preTbl'> 
 
    <tr> 
 
    <th>Column 0</th> 
 
    <th>Column 1</th> 
 
    <th>Column 2</th> 
 
    </tr> 
 
    <tr> 
 
    <td>Column 0 content</td> 
 
    <td>Column 1 content</td> 
 
    <td>Column 2 content</td> 
 
    </tr> 
 
</table>

+0

並不能解釋爲什麼'nnth-child'不起作用 – charlietfl

0

我發現B的款式很多/ C被應用,因爲這是一個大的應用程序,我不得不依賴於使用NG隱藏。你可以看到從這裏讀取它必須被手動重寫,因爲它使用!重要,但在我的情況下,它幫助完成了工作。

angularjs ng-hide information

謝謝,我希望這可以幫助人們在未來!