私はこのセクションをvanilla javascriptではなくjQueryに変換しようとしていましたが、jQueryを使用して要素をループする方法がわかりません。基本的には、フィールドの近くに表示されるエラーメッセージとして使用される各フィールドからデータattr値を取得しています。 これは送信ボタンのクリックイベント内にあります(FYIjavascriptの代わりにJqueryを使用する方法
)jQueryの方法とは何ですか?
//Set some variables
var invalidFields = $(form).querySelectorAll(':invalid'),
errorMessages = $(form).querySelectorAll('.error-message'),
parent;
// Remove any existing messages
for (var i = 0; i < errorMessages.length; i++) {
errorMessages[i].parentNode.removeChild(errorMessages[i]);
}
//Get custom messages from HTML data attribute for each invalid field
var fields = form.querySelectorAll('.sdForm-input');
for (var i = 0; i < fields.length; i++) {
var message = $(fields[i]).attr('data-ErrorMessage');
$(fields[i]).get(0).setCustomValidity(message);
}
//Display custom messages
for (var i = 0; i < invalidFields.length; i++) {
parent = invalidFields[i].parentNode;
parent.insertAdjacentHTML('beforeend', '<div class='error-message'>' +
invalidFields[i].validationMessage +
"</div>");
}
jQueryのドキュメントを参照してください。http://api.jquery.com/jquery.each/ –