2

次のコードがあります。

$('#name1').focus(function() {
    if ($(this).val() == 'start value') {
        console.log($(this).val()); // this prints "start value"
        $(this).val() == ''
    }

私がやろうとしているのは、ユーザーがテキスト入力に集中する#name1と、フィールドの値が消えることです。ただし、上記は何もせず、テキスト値は同じままです。これが発生する理由と、何を変更する必要がありますか?

4

5 に答える 5

5
$('#name1').focus(function() {
    if ($(this).val() == 'start value') {
        console.log($(this).val()); // this prints "start value"
        $(this).val("");
    }

このように括弧内に代入値を書かなければなりません$(this).val("");

于 2012-04-23T20:09:59.930 に答える
1

this.val()$(this).val('new value')値を設定するのと同じように呼び出す必要がある関数です。

于 2012-04-23T20:10:53.843 に答える
0

$(this).val() == '' 試す 代わりに $(this).val('');

于 2012-04-23T20:11:42.707 に答える
0

値を割り当てるには、次のようにvalを使用します。

$(this).val('');
于 2012-04-23T20:10:06.970 に答える
0

古いブラウザーのサポートのために、modernizr のようなもので html5 プレースホルダー属性を使用しないのはなぜですか。そのようにして、それらの関数のがらくたを書かずに、代わりに placeholder="your text" を実行して同じ効果を達成できます。

于 2012-04-23T20:49:00.090 に答える