哪个选项是最好的:隐藏元素或创建动态?
已经在标记元素,隐藏的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