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