このJSフィドルを確認してください。http://jsfiddle.net/jclamp/Nf7Fc/3/
Name のラベルは jquery を介して作成され、その位置は親フィールドの位置を使用して設定できます。
電子メールのラベルは、フォーム検証によって作成されます。同じjqueryでその位置を設定できるはずですが、そうではありません。なんで?
作品:
$('#name').after('<label class="error" for="name">I can create this label via jquery and then move it\'s position.</label><br>');
$('label.error').css('left',
function() {
return $('input[name='+$(this).attr('for')+']' ).offset().left;
}
);
動作しません:
$("#registerForm").validate();
$('label.error').css('left',
function() {
return $('input[name='+$(this).attr('for')+']' ).offset().left;
}
);