Javascript jQuery元素迭代上下文选择器
我正在jQuery中创建表单验证,但是我有一些问题 首先,我迭代所有待验证的元素,并将它们推送到一个数组中(我已经尝试了以下所有方法): 然后,在最后我对这些项目进行了迭代,并希望添加一条错误消息Javascript jQuery元素迭代上下文选择器,javascript,jquery,html,dom,iteration,Javascript,Jquery,Html,Dom,Iteration,我正在jQuery中创建表单验证,但是我有一些问题 首先,我迭代所有待验证的元素,并将它们推送到一个数组中(我已经尝试了以下所有方法): 然后,在最后我对这些项目进行了迭代,并希望添加一条错误消息 for(var i = 0; i < errorfields.length; i++){ 1. var parent = errorfields[i]; 2. var parent = $(errorfields[i]); 3. var parent = $("#" + errorf
for(var i = 0; i < errorfields.length; i++){
1. var parent = errorfields[i];
2. var parent = $(errorfields[i]);
3. var parent = $("#" + errorfields[i]);
}
它将返回带有上下文和选择器的数组。有什么问题吗
顺便说一下,我无法在此对象上执行jquery函数。这就是重点,因为我想添加一个2px红色边框和一个$(parent).after(“错误消息”) 我想这对你应该有用
errorfields.push( $("#name")[0] );
//Get the html element rather than the jQuery element (an object).
然后在for循环中,应该有如下内容:
var parent = $( errorfields[i] );
//This will get you the jQuery element again.
$(“#name”)
肯定会返回一个包含所有方法的jQuery对象。在你的日志中,我想你只注意到了属性。如果您查找原型链,您将看到所有的$.fn
方法。如果#name
不存在,则长度将为0
如果要将jQuery对象转换为数组,则应使用或
或:
[,context:#document,selector:#name”]
是元素的jQuery对象。使用起来更快更方便[0]@Sam你说的是通过索引获取单个元素。我说的是将整个对象转换为数组。这会给我一个HTML对象,但当我试图用$()
包装它以对其进行操作时,不是返回一个可以修改的对象,而是返回一个我无法使用或操作的[,context:://code>。您需要做的就是$(errorFields[I])。addClass('error'))
console.log($("#name"));
errorfields.push( $("#name")[0] );
//Get the html element rather than the jQuery element (an object).
var parent = $( errorfields[i] );
//This will get you the jQuery element again.
var array = $('.example').get();
var array = [].slice.call( $('.example') );