javascript - 前一个元素的宽度 jQuery

标签 javascript jquery html css

我正在寻找一种方法来获取悬停元素之前的元素宽度。

我试过:

$('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/

相关文章:

html - 我可以使用 :before or :after pseudo-element on an input field? 吗

javascript - 如何在Jquery的方法中管理具有相同类的元素

javascript - 如何用vue js制作固定导航栏?

javascript - 原子编辑器 : node-gyp rebuild crashes

javascript - 悬停向上滚动菜单样式

html - 我如何在CSS中堆叠圆圈?

javascript - 通缉 : offline IDE for developing Html/JavaScript on Android tablet

javascript - 很多 Jquery 和 check/radio/select 样式元素——无样式内容的 Flash

javascript - 在 MVC Ajax..BeginForm 部分回发后运行 Javascript

javascript - 从输入控件中检索特定模式类型的子节点