私はこのようなページレイアウトを持っています
<input id="name" class="mandotary" type="text">
<label for="name">Name must be entered</label>
<input id="code" class="mandotary" type="text">
<label for="code">Code must be entered</label>
ここで、最初にページをロードするときにラベル要素を非表示にします。フォーカスが失われ、値がnullの場合は、ラベルを表示する必要があります。そうでない場合は、ラベルを非表示にする必要があります。私はこれを試しました
var inputElementArray = $("input.mandotary");
$.each(inputElementArray, function(index, element){
var id = $(element).attr("id");
var label = $("label").attr("for", id);
// label.hide();
$(element).focus(function(){
var next = $(element).next();
$(element).next().hide();
}); //end of focus()
$(element).blur(function(){
// get value of text area
var text = $(element).val();
if (text == "") {
var next = $(element).next();
$(element).next().show();
} //end of if
}); //end of blur()
}); //end of $(document).ready(fn)
しかし、ライン
var label = $("label").attr("for", id);
両方のラベルをください。for属性値がid(nameまたはcode)であるラベルが必要です。varidのidとして名前またはコードを取得します。しかし、それは両方のリーブを見つけます。for属性値が入力要素IDと等しいラベルを見つけるにはどうすればよいですか?
ありがとう