2012-02-05 54 views
0

的迷宮我有這個網站:如何讓一個DIV中的DIV

<div id="a"> 
    <table> 
    <tr> 
     <td> 
     <div id="c">Stuff</div> 
     </td> 
    </tr> 
    </table> 
    </div> 

    <div id="b"> 
    <table> 
    <tr> 
     <td> 
     <div id="c">Stuff</div> 
     </td> 
    </tr> 
    </table> 
    </div> 

的問題是短暫的:我怎樣才能獲得「C」分區這是在「一個」格?我仍然會得到重複的id定義?如果html必須更改,請更改它...我只需要真實的代碼。 :)謝謝

回答

5

問題是簡短的:我怎樣才能得到「c」div至極「一個」div?

您的HTML無效。您的DOM中不能有2個元素具有相同的ID。一旦你解決你的標記並更改第二個div的id,你可以使用getElementById功能:

var cDiv = document.getElementById('c'); 

這裏是你如何可以改變你的HTML,以避免重複的ID:

<div id="a"> 
    <table> 
    <tr> 
     <td> 
      <div id="c">Stuff</div> 
     </td> 
    </tr> 
    </table> 
</div> 

<div id="b"> 
    <table> 
    <tr> 
     <td> 
      <div id="bc">Stuff</div> 
     </td> 
    </tr> 
    </table> 
</div> 
+1

他說什麼。 ID是一個唯一的標識符,你不能在一個頁面上有2個相同的值。 – SoonDead 2012-02-05 08:59:23

+0

是的,這就是爲什麼他需要改變他的標記。 – 2012-02-05 09:00:08

+0

謝謝隊長obious – Liukas 2012-02-05 09:27:54

0

的ID應該是橫跨整個頁面

0

即使它是無效的HTML,這通常工作

var a = document.getElementById("a"); 
var ac = a.getElementById("c"); 
+0

你測試過了嗎? – nnnnnn 2012-02-05 09:51:46

+0

在鉻,是的。 – Tetaxa 2012-02-06 07:48:52

+0

啊。我確信它在IE中不起作用,並且我有一個想法,即使我沒有測試它,它在FF中也不起作用。 – nnnnnn 2012-02-06 09:15:26