1

这是我尝试添加一个侦听器,该侦听器清除每个输入框的焦点占位符。我的代码中是否有明显的错误?

var $inputs = $('.add-item-form :input');
$inputs.each(function() {
    var that = $(this);
    that.focus(function() {
        that.attr('placeholder') = '';
    })
});​
4

4 回答 4

2

采用

that.attr('placeholder','');

安装的

that.attr('placeholder')='';

完整代码

 var $inputs = $('.add-item-form :input');
        $inputs.each(function() {
            var that = $(this);
            that.focus(function() {
                that.attr('placeholder','');
            })  
        });

正如gdoron所说,不需要缓存dom对象,你可以使用gdoron的代码更简洁的代码

于 2012-04-17T10:53:46.510 回答
2
$('.add-item-form :input').focus(function() {
    $(this).attr('placeholder', '');
});​
于 2012-04-17T11:01:45.700 回答
0
$('.add-item-form :input').each(function() {
     var that = $(this);
     that.on('focus', function() {
         that.attr('placeholder','');
     });  
});
于 2012-04-17T10:58:46.357 回答
0
$('.add-item-form:input').focus(function() {
    $(this).attr('placeholder', '');
});​

正如 gdoron 建议的那样,您必须删除 jquery 选择器上的额外空间:'.add-item-form:input' 而不是:'.add-item-form :input'

于 2012-04-17T11:09:18.090 回答