首页 > 解决方案 > 在JS中获取元素的宽度没有得到宽度的预期结果

问题描述

$(parentelement).find(".spec-table__thead.spec-table__thead--original th p").each((function(index, element) {
  console.log($(element))
  console.log($(element)[0].clientWidth)
  i.push($(element)[0].clientWidth)
}));

我有上面的代码,控制台返回:

在此处输入图像描述

但在检查内部$(element)

我可以看到 :

className: ""
clientHeight: 47
clientLeft: 0
clientTop: 0
clientWidth: 585
contentEditable: "inherit"

我应该得到的意思是,585但为什么我得到 696

仅供参考:使用第一个条目作为样本。

标签: javascriptjquerywidth

解决方案


首先你需要检查哪个索引有clientWidth。因为您的回复不完整,所以我无法告诉您哪个索引具有有效值。检查索引,就像它在索引 1 或任何其他上一样

$(parentelement).find(".spec-table__thead.spec-table__thead--original th p").each((function(index, element) {
  console.log($(element))
  console.log($(element)[1].clientWidth)
  i.push($(element)[1].clientWidth)
}));

推荐阅读