2012-11-10 168 views
3

我想知道在頁面中添加元素的優缺點,並設置display:none而不是創建一個函數,該函數將動態創建元素並將它們追加到需要去的位置。通過Javascript動態添加元素與使用CSS隱藏

在我的情況下,我正在做一個回覆框,附加到您要回復的任何評論。 Atm我只是通過CSS隱藏了它,然後使用onclick函數將它移動到我想要的任何節點。有沒有更好的辦法?考慮到DOM渲染時間等問題,我很新,但我想從現在開始。

+0

我個人更喜歡你的方法。它將HTML保存在HTML中,以及JavaScript中的邏輯。 –

回答

1

不會加載可能最大兩者之間的區別在於,包含在HTML中的內容可以被搜索引擎抓取。 通過Javascript添加的DOM元素不會。

就DOM渲染時間而言,只要你的代碼乾淨且寫得很好,就不應該有太大的區別。

Showing &用CSS隱藏,我敢肯定,總是會比JS快。

1

我寧願使用JavaScript動態生成在客戶端元素..

原因

  • 您HTML就會少..
  • 您可以附加任何地方..
  • 你不需要使用不必要的CSS來隱藏/顯示您的元素。

即使是加號方將是,如果用戶的瀏覽器的JavaScript比關閉它不會是一個很大的事情,反正你躲使用負載CSS的元素,比使用JavaScript的這些元素都

+0

但是有什麼性能方面的考慮? – BeaverusIV

+0

+1我同意不需要加載超出用戶需求的內容。如果用戶需要更好地使他正確並要求。 –

+0

@BeaverusIV幾乎沒有任何區別,只是因爲只有1個javascript就可以控制,因爲只是切換樣式並不好玩,爲什麼不製作腳本,在任何你想要的地方使用它,以及爲什麼在你可以動態地加載不必要的HTML和JavaScript在客戶端生成它?而且當你擁有巨大的流量時,btw的表現就很重要,否則你將無法獲得有關表現的結果 –