您好我刚刚开始学习Jquery,我的下面的代码无效,它甚至没有在控制台中显示任何错误。
<script type="text/javascript">
$(document).ready(function(){
var email_default = "Please enter email address..";
$('input[type="email"]').attr('value', email_default);
$(this).focus(function(){
$(this).attr('value', '')
});
});
</script>
当我对输入框进行聚焦时,上面的脚本没有做任何事情。在我正在观看的视频教程中运行相同的代码。
我需要知道导致我的功能不起作用的原因。
由于
答案 0 :(得分:3)
要设置值使用.val(),value属性仅用于设置input
元素的初始值,然后您需要更改dom元素的value属性。
为了设置输入元素的值,jQuery具有实用方法.val()
,可用于设置和获取输入值
$(document).ready(function () {
var email_default = "Please enter email address..";
$('input[type="email"]').val(email_default).focus(function () {
$(this).val('')
});
});
同样在ready处理程序this
内部引用文档对象,而不是电子邮件输入,您需要将焦点处理程序分配给input元素。
你也可以查看html5 placeholder(对于IE支持,你可能不得不使用一些插件)。
答案 1 :(得分:0)
我认为在HTML5中使用INPUT TYPE EMAIL时,更好的方法是使用HTML5占位符。
因此,通过这种方式,您输入的HTML就变成了这样的东西:
<input type="email" name="email_address"
placeholder="Please enter email address...">