2011-11-18 92 views
2

我有這樣的一個表:HTML DIV不能隱藏

<table cellpadding="0" cellspacing="0" border="0" > 
    <tr > 

     <div id="div_1c"> 
      <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_open_c.gif" alt="" /></td> 
      <td class="t15CurrentTabCenter"><span>Urlap megjegyzések</span></td> 
      <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_close_c.gif" alt="" /></td> 
     </div> 

     <div id="div_1nc"> 
      <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_open.gif" alt="" /></td> 
      <td class="t15TabCenter" onclick="zfocus_Div('DIV_MEGJEGYZES','div_1c')" ><a href="#TAB_LINK#">Urlap megjegyzések</a></td> 
      <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_close.gif" alt="" /></td> 
     </div> 

     <div id="div_2c"> 
      <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_open_c.gif" alt="" /></td> 
      <td class="t15CurrentTabCenter"><span>Üzemviteli munkák</span></td> 
      <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_close_c.gif" alt="" /></td> 
     </div> 

     <div id="div_2nc"> 
      <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_open.gif" alt="" /></td> 
      <td class="t15TabCenter" onclick="zfocus_Div('DIV_UZEMVITELI_MUNKA','div_2c')"><a href="#TAB_LINK#">Üzemviteli munkák</a></td> 
      <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_close.gif" alt="" /></td> 
     </div> 

     </tr> 
</table> 

加上一些JavaScript代碼:

<script language="javascript" type="text/javascript"> 
function zfocus_Div(pActiveTab,pActiveDiv) 
{ 
    html_HideElement('AAA'); 
    html_HideElement('div_1c'); 
    html_HideElement('div_2nc'); 
    html_HideElement('div_2c'); 

    html_HideElement('DIV_MEGJEGYZES'); 
    html_HideElement('DIV_UZEMVITELI_MUNKA'); 

    html_ShowElement(pActiveTab); 
    html_ShowElement(pActiveDiv); 
} 

</script> 

我的onload事件中執行以下代碼該頁面:

<script> zfocus_Div('DIV_MEGJEGYZES','div_1c') </script> 

執行後,表中沒有任何div被隱藏。有人可以解釋一下這可能是什麼原因嗎?據我所知,div可以用在一個表格中。

回答

5

這是因爲div元素實際上最終會在table之外結束。

除了在tdth元素中,您不能在表內部有div元素(或任何非表元素)。如果您嘗試這樣做,瀏覽器將嘗試更正代碼,方法是刪除非法元素,或將它們移動到表外。

1

由於Guffa寫道,<div>元素將dissapear,因爲你把他們<tr><td>元素(選擇查看源代碼在瀏覽器選項,看呈現的HTML代碼)之間。

嘗試把他們裏面<td>元素,像這樣:

<table cellpadding="0" cellspacing="0" border="0" > 
    <tr > 
     <td> 
      <div id="div_1c"> 
       <img src="bookmark.gif" alt="" /> 
       <span class="t15CurrentTabCenter">Urlap megjegyzések</span> 
       <img src="bookmark.gif"" alt="" /> 
      </div> 
     </td>  
     </tr> 
</table> 
+0

謝謝你們兩位! – user1054310

0

你不能表結構從

<table> 
    <tr> 
     <td> </td> 
    </tr> 
</table> 

如果你想寫的任何內容請藏在心裏TD

改變

和你的代碼將是這樣的

<table cellpadding="0" cellspacing="0" border="0" > 
    <tr id="div_1c" > 
     <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_open_c.gif" alt="" /></td> 
     <td class="t15CurrentTabCenter"><span>Urlap megjegyzések</span></td> 
     <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_close_c.gif" alt="" /></td> 
    </tr> 

    <tr id="div_1nc"> 
     <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_open.gif" alt="" /></td> 
     <td class="t15TabCenter" onclick="zfocus_Div('DIV_MEGJEGYZES','div_1c')" ><a href="#TAB_LINK#">Urlap megjegyzések</a></td> 
     <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_close.gif" alt="" /></td> 
    </tr> 

    <tr id="div_2c"> 
     <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_open_c.gif" alt="" /></td> 
     <td class="t15CurrentTabCenter"><span>Üzemviteli munkák</span></td> 
     <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_close_c.gif" alt="" /></td> 
    </tr> 

    <tr id="div_2nc"> 
     <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_open.gif" alt="" /></td> 
     <td class="t15TabCenter" onclick="zfocus_Div('DIV_UZEMVITELI_MUNKA','div_2c')"><a href="#TAB_LINK#">Üzemviteli munkák</a></td> 
     <td><img src="#IMAGE_PREFIX#themes/theme_15/tab_close.gif" alt="" /></td> 
    </tr> 

    </tr> 
</table> 

你是否在做任何事情用這個函數名稱「html_HideElement」來隱藏?