繁体   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