【发布时间】:2016-11-26 21:25:29
【问题描述】:
我一直在尝试将这部分脚本转换为 jQuery 而不是 vanilla javascript,但我不确定如何使用 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 文档:api.jquery.com/jquery.each
标签: javascript jquery code-translation