2011-11-25 59 views
1

我正在做一個網站,並通過PHP顯示的HTML與從數據庫中獲取的數據。 我有一個foreach()函數,所以顯示的所有東西都有相同的DIV ID。 它最終就像4個具有相同ID(#content)的DIV,所以PHP工作正常,但我有一個jQuery腳本,當我打電話給jQuery("#content").hide();時,它只隱藏其中一個DIV並非全部,我想要它隱藏所有這些。還有什麼我需要做的嗎? 謝謝。jquery不適用隱藏()到所有的div使用相同的ID

+1

一些參考:[HTML4](http://www.w3.org/TR/html4/struct/global.html#h-7.5。 2)*該屬性爲元素分配一個名稱。該名稱在文檔中必須是唯一的。* - [html5](http://www.w3.org/TR/html5/elements.html#the-id-attribute)* id屬性指定其元素的唯一標識符(ID )* – Yoshi

+0

爲了進行調試,您應該在http://validator.w3.org/這樣的HTML驗證器中測試您的頁面(或者在Firefox中安裝擴展程序,如Web Developer Toolbar或Chrome中的等效項;入口工具/驗證HTML會將你的頁面提交給驗證器)。有效的代碼可以自動解決像這樣的問題。 – FelipeAls

回答

6

你應該使用一個類(.class_name),而不是一個id - 只有一個DOM元素可能有給定的ID,否則它是無效的HTML。 ID選擇器只返回單個元素是合理的。

1

這僅僅是因爲你不能有多個具有指定ID的元素。 ID是且必須是唯一的。 DOM中只能有一個具有相同元素的元素。

未能遵循此規則可能導致腳本和其他恐怖事件中斷。

您可以爲此使用類。

1

一個ID只能在HTML中使用ONCE!因爲它的ID和ID應該始終是唯一的

2

頁面上的元素ID應該是唯一的。所以你指定的每個HTML標籤都應該有一個不同的ID。如果你想要隱藏所有的元素,可能需要向你想要隱藏的元素添加一個類。

例如

<div class="divToHide">Content...</div> 
<div class="divToHide">Content...</div> 
<div class="divToHide">Content...</div> 

那麼你的jQuery是:

$(".divToHide").hide(); 
相關問題