私は、次の方法のいずれかをお勧めしたいためです。
JS Fiddle demo using el.placeholder = $('label[for=' + el.id + ']').text()
。
それとも、さまざまなプレースホルダを保存するために、配列を使用することができます。
var placeholders = ['Email address', 'favourite color'];
$('input:text').each(
function(i,el) {
if (!el.value || el.value == '') {
el.placeholder = placeholders[i];
}
});
JS Fiddle demoを。
var placeholders = {
'one' : 'Email address',
'two' : 'Favourite color'
};
$('input:text').each(
function(i,el) {
if (!el.value || el.value == '') {
el.placeholder = placeholders[el.id];
}
});
JS Fiddle demo:特定の要素の特定のプレースホルダを指定する
。
追加したエントリは、プレースホルダに存在しないことをイベントでキャッチ/フォールバック
は、特定の
input
のオブジェクト:
var placeholders = {
'oe' : 'Email address', // <-- deliberate typo over there
'two' : 'Favourite color'
};
$('input:text').each(
function(i,el) {
if (!el.value || el.value == '') {
el.placeholder = placeholders[el.id] || '';
}
});
JS Fiddle demo。
http://jsfiddle.net/gT7dv/ –
@RPMそれは簡単すぎるでしょうか? :) HTML出力には影響しないと書いています。これは私が持っているコードなので、jQueryでプレースホルダ属性を追加する必要があります – take2
HTML出力には何の影響もありません(プレースホルダを追加することを除いて、それはあなたではありません)。 しかし、それはHTML 5用です! – Robyflc