[英]if ($('#selector').length == 0) doesn't work in IE7 and IE8
這是我的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。 為什么?
此代碼的目的:它應該在登錄表單中顯示用戶友好的文本,以便用戶知道填寫用戶名和密碼輸入字段的內容。 這很重要,因為輸入字段沒有標簽(我知道......但客戶端只是不想要標簽)。
if($('#selector')。length == 0)條件存在,因為如果用戶在瀏覽器中保存他/她的用戶名和密碼,瀏覽器將自動填寫保存的值,因此它確保了背景圖像不重疊他們。
你應該使用:
if($('#selector').val() == '')
代替
if ($('#selector').length == 0)
$('#selector').length
只會告訴你匹配了多少元素,而不是所選元素的值的長度。 見這里: http : //api.jquery.com/length/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.