哪個選項是最好的:隱藏元素或創建動態?
已經在標記元素,隱藏的CSS。如果JS已啓用,請顯示該元素。
在標記中沒有任何元素,並且如果啓用了JS,則可以實時創建它。
如果用戶沒有JS,我不想顯示一個div。我的問題不是如何編寫不同的案例,而是最好的和爲什麼。
編輯: 當我說「最好的」我的意思是支持與爲什麼它是對你最好的答案。可以是速度/語義/等等。我想要的是能夠更好地瞭解每個人的利弊。速度也不是問題,因爲它只是一個元素,所以它會像毫秒一樣。
對於第一個選項,它可能更快,但是我們有不必要的標記和CSS規則。因爲如果沒有JS,根本沒有任何要點,更不用說隱藏它。
現在的第二個選擇,即使它可能不是那麼快,我保持不同的部分分開,只真正加載必須加載的東西。
你是什麼意思的「最好」?速度/性能還是語義? – j08691 2013-03-13 15:07:47
如果你只是想顯示元素,如果用戶有JavaScript我會插入到DOM,就像你用CSS隱藏它,你可以受到搜索引擎懲罰這樣做。此外,禁用CSS(或某些屏幕閱讀器)的用戶也可以訪問該內容。但這只是我的觀點 – Pete 2013-03-13 15:09:22
@Pete,搜索引擎足夠聰明,可以忽略隱藏着'display:none'的內容,但如果有很多內容被'text-align'擠出視線,他們可能會懲罰你。當然,「搜索引擎」的意思是「Google」。 – zzzzBov 2013-03-13 15:11:03