4
工作,這是我的jQuery代碼:
$(document).ready(function() {
if ($('#login').length == 0) {
$('#login').css('background', "url('/css/login-bg.gif') 2px center no-repeat");
}
if ($('#password').length == 0) {
$('#password').css('background', "url('/css/password-bg.gif') 2px center no-repeat");
}
$('#login').focus(function() {
$(this).css('background', 'transparent');
});
$('#password').focus(function() {
$(this).css('background', 'transparent');
});
});
它工作在Firefox,但不是在IE7或IE8。爲什麼?
此代碼的目的:它應該在登錄表單中顯示用戶友好的文本,以便用戶知道填寫用戶名和密碼輸入字段的內容。這很重要,因爲輸入字段沒有標籤(我知道......但客戶端不需要標籤)。如果($('#selector')。length == 0)條件存在,因爲如果用戶在瀏覽器中保存他/她的用戶名和密碼,瀏覽器將自動填充保存的值,所以它會使確定背景圖像不會與它們重疊。
的確,.length返回選擇器匹配的元素的數量 – 2010-02-25 00:39:11
瑣事:* id *選擇器的長度應該始終爲1,因爲ids是(應該是)唯一的。 – poke 2010-02-25 01:14:59
@poke:如果元素不存在,則爲零。 – 2010-02-25 03:50:53