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 に答える