为什么这个jQuery one-liner不会做它应该做的事情?

fam*_*sta 2 jquery attributes

我正在进行一些表单UI编码并编写了这个jQuery one-liner:

$( '输入[类型=文本]')VAL($(本).attr( '默认值'));

意图是为每个输入文本字段赋予其在属性中提供的默认值.

有什么建议?TIA

Ate*_*ral 5

$('input[type=text]').each(function () {
    $(this).val($(this).attr('default-value'));
});
Run Code Online (Sandbox Code Playgroud)

this你的val()调用中没有引用元素,但它只是你运行这个单行的函数的上下文.

此外,在定义自定义属性时,您可能会考虑在之前投资HTML5并使用"data-*"约定:在HTML5中,定义自定义属性是合法的,只要它们以"data-"为前缀即可.所以,我会使用类似"data-default"而不是"default-value"的东西.