jquery更新第n个元素之后的所有元素?

标签 jquery css

假设我有以下代码:

<ul>
    <li data-val="1">1</li>
    <li data-val="4">2</li>
    <li data-val="2">3</li>
    <li data-val="5">4</li>
    <li data-val="1">5</li>
</ul>

我希望所有 ul li:gt(0) 的元素都有一个 innerHTMLdata-val + innerHTML .所以我想要的结果是:

<ul>
    <li data-val="1">1</li>
    <li data-val="4">6</li>
    <li data-val="2">5</li>
    <li data-val="5">9</li>
    <li data-val="1">6</li>
</ul>

我可以使用 for 循环来执行此操作,但不确定这是否是性能和最少冗长代码方面的最佳方式。有没有更好的办法?

我会使用 jquery 和 css。

最佳答案

您可以调用.html()并传递一个对两个字段求和的函数:

$('ul li:gt(0)').html(function() {        
    return $(this).data('val') + parseInt($(this).html());
});​

http://jsfiddle.net/infernalbadger/VJAza/

关于jquery更新第n个元素之后的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9826083/

相关文章:

jquery - Safari iOS - 单击链接后弹出 jQuery

javascript - 获取具有相同类的多个输入字段的值并添加到javascript对象中

css - SCSS 媒体查询宽高比不起作用

html - 用于旋转的 CSS 自定义游标

css - 如何实现 bootstrap 4 和 rails 5

HTML/CSS 裁剪图像

javascript - 具有绝对位置的 html5 Canvas 不起作用

javascript - 将 Chart.JS 数据元素格式化为货币

jquery - 无法在动态创建的内容上设置单击事件处理程序

jquery - 在 video.js 播放器上暂停播放