使用jQuery迭代表的元素
Iterate through elements of a table using jQuery
我试图从特定行获得所有td
。
代码如下:
$(window).scroll(function () {
var widthArray = new Array();
var i=0;
$('#firstRow > td').each(function () {
var tdclass = $('td').attr('class');
console.log(tdclass);
widthArray.push(tdclass);
i=i+1;
});
});
但是它停在第一个td
而不是迭代。
UPDATE: i
变量用于不同的函数
$('#firstRow > td')
这是正确的。上面的代码片段选择#firstRow
元素内的所有td
。
问题在循环。
var tdclass = $('td').attr('class');
这里你忽略了你正在循环的td
,并选择了页面中存在的所有td
;这就是$('td')
函数的作用。
当你使用jQuery时,循环回调接收元素作为参数,同时作为上下文(this
);.fn美元。各供参考。
所以要解决你的问题:
$('#firstRow > td').each(function (index, element) {
var tdclass = $(element).attr('class');
// ...
});
每次迭代都获得$('td')
集合中第一个<td>
元素的类。你可以把你的结构改成更优雅的:
$(window).scroll(function() {
var widthArray = $("#firstRow > td").map(function() {
return this.className;
}).get(),
i = widthArray.length;
// ...
});
相关文章:
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 为什么这只是迭代 HTMLCollection 的奇怪元素
- 每个$.,循环获胜't逐个迭代HTML元素
- 在JSON数组中进行迭代,并为其元素设置样式
- 使用.ech()迭代具有类似类名的元素
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- 迭代 coffeescript 中的 jQuery DOM 元素: $(@).捷径
- 如何迭代具有相同ID的元素
- DOM:如何根据迭代器值设置元素宽度并在mouseover上调用函数
- 在JS对象元素上迭代并更改它们
- 迭代JSON对象并将元素打印到屏幕上的最佳方式是什么
- 如何访问迭代模板中的任何元素
- javascript通过逻辑连接的元素对进行迭代
- 使用for.of迭代时删除集合中的元素是否安全
- 如何在数据数组的每次迭代中创建一个内容为“i+1”的新 HTML 元素
- JQuery 添加表单元素迭代 ID
- 每个,从开始元素迭代
- 无法使用守夜人中的元素迭代元素
- Javascript中的表单元素迭代
- jQuery 从子元素迭代内部子元素