2013-03-15 55 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