簡體   English   中英

if($('#selector')。length == 0)在IE7和IE8中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM