6

我正在处理 jquery 中的占位符函数。现在,我只希望表单元素将其值更改为它的占位符。我尝试了以下代码:

$('input:text').val($(this).attr('placeholder'));

但它不起作用。在对其进行了一些测试之后,我意识到问题在于$(this)在这种情况下使用。我该如何更改它,以便它遍历所有表单元素并将它们的值更改为它们的占位符属性?

4

2 回答 2

8
$('input:text').val(function() {
    return $(this).attr('placeholder');
});

或者:

$('input:text').attr('value', function() {
    return $(this).attr('placeholder');
});

这是一个现场演示

于 2011-03-12T15:08:25.230 回答
5

大多数这些 setter jQuery 函数都提供了一种方法来指定将使用其返回值的函数。这是一种利用$(this).

$('input:text').val(function () {
  return $(this).attr('placeholder');
});

jQuery val() 参考

于 2011-03-12T15:08:50.947 回答