我对本机javascript defaultValue功能感到困惑。我已经知道必须设置html输入的值,并且该值是初始默认值。
当我在click-event中使用它时,我想将特定的输入(文本)元素恢复为其默认值。 (取消按钮)
//Restore values
var name_person = $(this).find('.nameOfPerson');
//Attempt 1
name_person.val(name_person.defaultValue);
alert('restored value=' + name_person.val()); //This alerts nothing
//Attempt 2
name_person.val(name_person.prop('defaultValue')); //This alerts the default value
alert('restored value=' + name_person.val());
当prop(' defaultValue')执行时,为什么原生defaultValue属性不起作用?那些基本上不相同的吗?初始值设置为值=" bla bla bla"在输入元素中。
我让它工作(使用jQuery),但我只是想知道 - 我错过了什么?
答案 0 :(得分:6)
它不起作用,因为name_person
是一个jQuery对象而jQuery没有defaultValue
。您需要引用DOM对象
name_person[0].defaultValue
或
name_person.get(0).defaultValue
答案 1 :(得分:0)
Default Value in jquery using attr not prop
试着知道一些事情..样本html
<input type="text" name="usrname" value="default"><br>
<input type="submit" value="Submit">
JS
$("input[type=submit]").click(function(){
$("input[type=text]").val(1);
alert($("input[type=text]").prop("value")); // it will return 1
alert($("input[type=text]").attr("value")); // it will return default value
alert($("input[type=text]")[0].defaultValue); // @epascarello posted return default value
});