好的,我正在尋求它,我知道。請多多包涵。非法放置<form>僅在通過AJAX提供服務時纔會隱藏表格行
我有一個<形式>嵌入在一些表格行標籤之間,這樣的事情:
<table>
<tr>
<td>foo</td>
</tr>
<form>
<tr>
<td>bar</td>
</tr>
</form>
</table>
我知道這是表單標籤的非法位置,但所有的瀏覽器我試過無論如何將允許它。我無法控制此代碼的設計,所以請耐心等待。
當我使用JQuery和JQuery UI.Layout插件(請參閱http://layout.jquery-dev.net/index.cfm)加載此頁面時,表單標記所包含的表格行將不再呈現。我認爲,因爲表單本身沒有任何顯示屬性,所以JQuery或UI.Layout插件都強制這些行繼承缺少顯示。
Firebug將這些行灰顯出來,並在form標籤下面縮進一層,這對應於我認爲它們(缺少)的顯示。有趣的是,當我不使用任何JQuery的東西時,Firebug將這些行顯示爲不縮進,而是在SAME級別作爲包含它們的表單標記(當然,它們不會變灰) - OH我也剛剛注意到在這種情況下Firebug甚至沒有顯示關閉窗體標籤。
我不確定它是JQuery,UI.Layout插件,還是我用JavaScript做過的事情導致了這種情況,而且我還在四處尋找,但這些庫中有很多代碼,所以如果有人有任何問題,我會很感激。
有沒有辦法來防止這種情況,或者可能強制這些錶行有一些顯示?也許表單標籤需要放置一些顯示屬性,以便這些行繼承它?
我是符合標準的代碼的主要倡導者,但有時候老闆不會聽。因此,如果這就是你所擁有的,請儘量避免「修復你的代碼」。我很感激,但這不是我在這裏問的。
在讓佈局擁有它之前,您可以重構DOM以刪除精神錯亂嗎?服務器可以發送瘋狂給客戶端,然後你可以用jQuery重寫它,然後把它交給佈局。 – 2011-04-29 07:33:01
嗯,好的,是的,我想這是一種可能性,如果沒有人有任何更快的黑客方式來強制對錶格行進行可見性。謝謝。 – user456885 2011-04-29 07:44:28