我正在寻找一种方法来获取悬停元素之前的元素宽度。
我试过:
$('ul li').hover(function() {
$(this).prevAll().each(function() {
var margin = $(this).width();
});
$(this).css('margin-left', margin + 'px');
});
但是控制台说:
未捕获的 ReferenceError:边距未定义
有什么解决办法吗? 谢谢
最佳答案
我正在寻找一种在元素悬停之前获取元素宽度的方法。
您需要在循环外初始化您的 var 并添加值:
$('ul li').hover(function() {
var margin = 0;
$(this).prevAll().each(function() {
margin += $(this).width();
});
$(this).css('margin-left', margin + 'px');
});
关于javascript - 前一个元素的宽度 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34307857/