2013-03-15 77 views
0

我有以下脚本:运行jQuery是准备

$(document).ready(function() { 

$('*:lang(English)').hide(); 
$('*:lang(French)').hide(); 
}); 

我需要的是与属性LANG =“英语”或LANG =“法国”的每一个元素进行最初是隐藏。

但现在当我加载我的网站时,它会出现毛刺。因为在$(document).ready已经变得“准备好”之前html开始被渲染了。因此,具有上述指定属性的所有元素将在瞬间显示。

在文档准备好之前,有没有办法在每个*:lang(English)上放置一个处理程序,这样我就再也看不到毛刺了?

回答

2

你或许应该删除jQuery和用CSS这样做:

*:lang(en), *:lang(fr) { 
    display: none; 
} 

然后,如果你想显示只有一种语言,例如,使用jQuery做

$(document).ready(function() { 
    $('*:lang(fr)').show(); 
}); 
+0

奇妙的是,解决了它....快速问题,但这和使用可见性属性有什么区别? – Kam 2013-03-15 03:00:08

+1

“知名度:隐藏”使其看不见,但仍占用空间。 'display:none'就好像它从未在那里,不占用空间。 – 2013-03-15 03:01:04