如何获取数组中每个dom元素的宽度?

Posted

技术标签:

【中文标题】如何获取数组中每个dom元素的宽度?【英文标题】:How to get width of each dom element in array? 【发布时间】:2015-03-06 08:46:18 【问题描述】:

footLinks 是通过 jquery 选择的 DOM 元素的数组。这是我正在处理的代码:

var footLinks = $('.links li');

for (var i = 0; i < footLinks.length; i++) 
    var footLink = footLinks[i];
    var footLinkWidth = footLink.width();
    console.log('Width: ' + footLinkWidth);

如何获取每个元素的宽度?

【问题讨论】:

你的代码有什么问题? 【参考方案1】:

我认为如果你这样写会更好:

$('.links li').each(function(d) 
    console.log("Width: "+$(this).width())
);

【讨论】:

【参考方案2】:

jQuery 返回数组中的对象,当你想在循环中使用每个 DOM 元素时,它可以与 javascript 函数一起使用,但 width() 不是本机函数,如果你想使用 jQuery 获取 width @987654324 @方法然后创建jquery object就像$(footLink)这样你也可以使用offsetWidth原生方法

$(footLink).width();

footLink.offsetWidth;

【讨论】:

【参考方案3】:

footLink 使用 jQuery 包装器:

var footLinks = $('.links li');

for (var i = 0; i < footLinks.length; i++) 
    var footLink = footLinks[i];
    var footLinkWidth = $(footLink).width();
    console.log('Width: ' + footLinkWidth);

【讨论】:

以上是关于如何获取数组中每个dom元素的宽度?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取由 querySelectorAll() 方法 (javascript) 生成的 DOM 数组的每个元素的索引?

Js如何获取某Dom元素的宽高

jquery如何获取动态创建的且还没有放入dom的元素的宽度

vue获取dom元素的宽高

如何获取html元素的宽度并将像素转换为百分比[关闭]

如何获取在getElementsByTagName中返回的DOM子数组中的元素