Javascript JQuery集合数组突然变成domhtmldevelment
在我的代码中,我有一个函数,它接受JQuery集合的数组,并通过for循环将一些代码应用于每个集合 问题是,只要我引用一个对象,它就会以某种方式变成一个HtmlLevel,而不是一个collection对象Javascript JQuery集合数组突然变成domhtmldevelment,javascript,jquery,dhtml,Javascript,Jquery,Dhtml,在我的代码中,我有一个函数,它接受JQuery集合的数组,并通过for循环将一些代码应用于每个集合 问题是,只要我引用一个对象,它就会以某种方式变成一个HtmlLevel,而不是一个collection对象 function vacant_now($timetables, now){ console.log("1:" + $timetables);//still fine for (var i=0; i < $timetables.length; i++){ console.log
function vacant_now($timetables, now){
console.log("1:" + $timetables);//still fine
for (var i=0; i < $timetables.length; i++){
console.log("2:" + $timetables[i]);//problem is here
var $timetable = $timetables[i];
console.log("3:" + $timetable);
$timetable.find(".booking").each(function(){ ...
我被难住了。使用jQuery,您可以使用
。每个方法,在您必须“jQuery”对象之后:
function vacant_now($timetables, now) {
$timetables.each(function() {
var $timetable = $(this);
});
}
jquery集合实际上是DOM元素的数组
您也可以对
使用一个,语法更详细一点。
在任何情况下,都必须jquery对象
例如:在jQuery对象上使用[i]返回dom元素。如果希望jQuery对象位于特定索引处,请使用.eq()函数:
console.log("2:" + $timetables.eq(i));
示例-jQuery集合数组是一个DOM元素数组
执行此操作:$('#myDiv')[0]代码>
返回与以下内容相同的内容:document.getElementByID('myDiv')代码>
解决方案:
使用$('.timeline').eq(索引)代码>
for(变量i=0;i<$timetables.length;i++){
$timetables.eq(i);
}
干杯
console.log("2:" + $timetables.eq(i));
for (var i=0; i < $timetables.length; i++){
$timetables.eq(i);
}