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

要分配一个值,请像这样使用val :

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

而不是 $(this).val() == '' 尝试 $(this).val('');

于 2012-04-23T20:11:42.707 回答
0

为什么不将 html5 占位符属性与modernizr 之类的东西一起使用来支持旧版浏览器,这样您就不必编写大量这些功能,而只需执行 placeholder="your text" 并达到相同的效果。

于 2012-04-23T20:49:00.090 回答