$('input[type=text]').each(function () {
$(this).val($(this).attr('default-value'));
});
this
внутри вашего val()
вызова не ссылается на элемент, но это просто контекст функции, в которой вы запускаете этот однострочный.
Кроме того, при определении пользовательских атрибутов вы могли бы рассмотреть возможность инвестирования в HTML5 ранее и использовать соглашение «data- *»: в HTML5 допустимо определять пользовательские атрибуты, если они имеют префикс «data-». Поэтому я бы использовал что-то вроде «data-default» вместо «default-value».