動作を模倣しようとしているplaceholder
ので、ページの読み込み時に元の値を保存しようとしています。このコードを使用して。機能していないのでここにいます。値は空です。
$().ready(function() {
$("input").prop("placeHolder", $(this).val());
/*
also tried:
$("input").prop("placeHolder", $(this).attr("value"));
*/
}
元のコードでは、現在の要素$(this)
ではありません。渡されたinput
オブジェクトは何でも-おそらくオブジェクトです。(私はテストしました-そうです!)this
$().ready()
document
これはあなたが必要とすることをするはずです:
$('input').prop('placeholder', function() {
return this.value;
});
このバージョンの.prop
は、指定された関数を呼び出し、各要素を として順番に渡し、this
その DOM 要素の他のプロパティに直接アクセスできるようにします。
これを試して:
$(document).ready(function(){
$("input").prop("placeholder", function(){
return $(this).val()
});
});
と$().ready()
私はあなたが$(document).ready()
方法を参照していると思います。
あなたの場合$(this)
、あなたのinput
. この文が入っている親を取得しています。この場合、$()
.
あなたは私が上に書いたことをすることができますか、これもうまくいきます:
$(document).ready(function(){
$("#input_id").prop("placeholder", $("#input_id").val());
});
これは 1 つの入力に対して機能します。別の方法ですべての入力に対して機能させる場合は、これも機能します。
$(document).ready(function(){
$("input").each(function(){
$(this).prop("placeholder", $(this).val());
});
});
$(this)
この場合、反復される入力を参照することに注意してください。
属性は大文字と小文字が区別されるため、「プレースホルダー」にする必要があります。また、関数を使用して属性を設定できます。
$("input").prop("placeholder", function () {
return $(this).val()
});