jquery - 简单的 jQuery 算术

标签 jquery math

理论上来说,如果我有一个无序项目列表

<ul>
    <li><a>Link1</a></li>
    <li><a>Link1</a></li>
</ul>

我如何使用 jQuery 执行以下操作?

1) 找到每个单独a元素的宽度

2) 找到每个单独的 li 元素的宽度

3) 将每个子a元素的宽度从其父li元素的宽度中减去

4) 然后将总计添加到每个父 li 元素

这不起作用:

$('ul > li').each(function() {
  var liWidth = (this).width();
  var aWidth = ('ul > li > a').width();
  var subractedWidth = parseFloat(liWidth) - parseFloat(aWidth);
  var newWidth = subtractedWidth + parseFloat(liWidth);
  $(this).css('width',newWidth);  
});

提前致谢!

最佳答案

您忘记使用$在一些地方,您正在尝试获取 <a>宽度在特定<li>内你在,所以你不应该重新查询整个 DOM。这样就可以了:

$('ul > li').each(function() {
    var liWidth = parseFloat($(this).width());
    var aWidth = parseFloat($(this).find('a').eq(0).width());
    $(this).width((liWidth - aWidth) + liWidth);
});

关于jquery - 简单的 jQuery 算术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10770766/

相关文章:

math - 如何取任意数字并得到1-3之间的数字

php - Jpgraph:如何手动设置 X 轴和 Y 轴的范围

c# - 返回复杂类型以使用 AJAX 查看

javascript - 单独目标循环 html 属性

performance - 是否所有算法都以 n 为基数(例如 : k^n) of the same time complexity?

c - 在 C 中将算术表达式应用于用户提供的 2 个二进制数的最佳方法是什么?

jquery - 移动进度条

jquery - 动态设置字符串截断

java - 没有显示答案。有任何想法吗?

algorithm - 如何使用后缀求解一个简单的线性方程