【发布时间】:2020-09-05 15:25:36
【问题描述】:
我有一张有很多行和 3 列的表格。每列里面都有div。我想得到第二列中div 的高度。
我给jQuery如下:
$('#elementId tbody tr td.elment-class-2 div').height(); // works good, returns height of first rows div
现在,我想在循环中运行它,以便在第二列的所有行中获取 div 的高度。所以我写了计划的这段代码:
var count = $('#elementId tbody tr td.elment-class-2 div').length;
$('#elementId tbody tr td.elment-class-2 div')[0]; //
$('#elementId tbody tr td.elment-class-2 div')[1]; // and so on in a loop
但这会返回错误
$('#elementId tbody tr td.elment-class-2 div')[0]; // Uncaught TypeError: $(...)[0].height is not a function
P.S:这里是 jQuery 的新手。请原谅我的愚蠢错误。
【问题讨论】:
-
能否包含一个minimal reproducible example,其中包含此 jQuery 应用到的 HTML?这将使我们更容易提供帮助:)
-
您可以使用 jQuery
.each函数(参见 here)。所以,它会像$('#elementId tbody tr td.elment-class-2 div').each(function(i, item) { var height = $(item).height(); });当你调用像$('#elementId tbody tr td.elment-class-2 div')[0]这样返回 DOM 元素而不是 jQuery 对象的东西时 - 这就是为什么你在调用 jQuery 函数时会收到错误.height() -
@FluffyKitten 请看演示链接
-
在看到您的新代码笔之前,我刚刚发布了一个答案 :) 我的答案是您正在寻找的(您确实提到想要遍历元素)还是您需要获得一个特定的一个元素?
标签: javascript html jquery css dom