我有以下代码:
$('#name1').focus(function() {
if ($(this).val() == 'start value') {
console.log($(this).val()); // this prints "start value"
$(this).val() == ''
}
我想要做的是当用户专注于文本输入#name1
时,字段的值将消失。但是,上面没有做任何事情,文本值保持不变。为什么会发生这种情况,我需要改变什么呢?
答案 0 :(得分:5)
$('#name1').focus(function() {
if ($(this).val() == 'start value') {
console.log($(this).val()); // this prints "start value"
$(this).val("");
}
您必须在括号中写下分配值,例如$(this).val("");
答案 1 :(得分:1)
this.val()
是一个应该像$(this).val('new value')
一样调用的函数来设置值。
答案 2 :(得分:0)
要分配值,请使用val,如下所示:
$(this).val('');
答案 3 :(得分:0)
$(this).val() == ''
尝试
$(this).val('');
答案 4 :(得分:0)
为什么不将html5占位符属性与modernizr这样的东西用于较旧的浏览器支持,这样你就不会编写这些函数的垃圾,而是可以只做placeholder =“your text”并达到同样的效果。