2013-10-26 6 views
0

У меня есть простая таблица, созданная PHP.Скрыть определенную строку из таблицы без ID

<table border="1" id="control> 
    <tbody> 
     <tr>...</tr> 
     <tr>...</tr> 
     <tr>...</tr> //Row #3 
     <tr>...</tr> 
     <tr>...</tr> 
     <tr>...</tr> 
    </tbody> 
</table> 

Я хотел был бы спрятать 3-я строка при загрузке страниц с использованием javascript или css. Есть ли способ сделать это без предоставления идентификатора третьей строки?

Спасибо заранее

+0

JavaScript ответы здесь используется '.getElementsByTagName()'. Идиоматическим средством доступа к строкам таблицы по индексу является использование собственных наборов, которые относятся к строкам и ячейкам таблицы. Например: 'document.getElementById (" # control "). Rows [2] .style.display =" none ";' –

ответ

4

с CSS3 вы можете использовать : селектор nth-child

#control tr:nth-child(3) 
{ 
    display:none; 
} 
+1

Обратите внимание, что это будет работать только там, где Селекторы CSS3 реализованы, что означает, что IE8 и предыдущие версии не поддерживают его. –

5

с помощью JQuery его довольно просто, $('#control tr:eq(2)').hide()

+0

Я действительно не хочу использовать jQuery, но если нет другого способа, я буду. Благодарю вас, например. – hackal

+0

Если вы не используете jquery, вы также можете использовать метод querySelectorAll, например, этот document.querySelectorAll ('# control tr') [2] .style.display = "none"; ' –

0

Использование JQuery-х eq(int) выбрать строку в ноль на основе индекса:

$("#control tr").eq(2).hide(); 
0

Попробуйте

document.getElementsByTagName("tr")[2].style.display = 'none'; 
1

Использование чистого JavaScript (без рамки, как JQuery и т.д.) можно сделать:

<!DOCTYPE html> 
<html> 
<head> 
    <title>HTML</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
</head> 
<body> 
    <table border="1" id="control"> 
     <tbody> 
      <tr><td>row1</td></tr> 
      <tr><td>row2</td></tr> 
      <tr><td>row3</td></tr> 
      <tr><td>row4</td></tr> 
      <tr><td>row5</td></tr> 
      <tr><td>row6</td></tr> 
     </tbody> 
    </table> 
    <script type="text/javascript"> 
     var tableElm = document.getElementById("control"); 
     var tableChilds = tableElm.getElementsByTagName("tr"); 
     var row3 = tableChilds[2]; 
     row3.style.display = "none"; 
     // alternatively: 
     //row3.style.visibility = "hidden"; 
    </script> 
</body> 
</html> 
Смежные вопросы