【问题标题】:How to change each element's content that are in one class using jQuery如何使用 jQuery 更改一个类中的每个元素的内容
【发布时间】:2013-03-07 14:39:58
【问题描述】:

希望有人可以帮助我。 我有一个类的 30 个元素的内容。

我需要使用click(function(){... 方法更改每个元素,例如我点击一个按钮。

每个元素的值应该是*2之前的值;

这是我的 html 的一部分:

<p>from <span class="currency">69.95</span></p>
<p>Economy Worldwide - above <span class="currency">65.05</span></p><p>Express Worldwide - above <span class="currency">195.15</span></p>

感谢您的帮助。

【问题讨论】:

  • 你试过了吗?
  • 您想点击一个并更改所有30个元素的值吗?
  • 所有元素的值必须相等?
  • 是的,我尝试使用 parseFloat($('.currency').text().replace(/([^0-9\\.])/ 从 .currency 内容中获取数字g,""));

标签: javascript jquery class foreach currency


【解决方案1】:

我会这样做:

$("button").click(function() {
    $(".currency").text(function(i, val) {
        return val * 2;
    });
});

演示: http://jsfiddle.net/eGxAV/

【讨论】:

  • 别忘了解析那个数字 :)
  • @mattytommo 不需要。乘法会隐式执行。
  • @js-php:如果对您有帮助,请单击旁边的复选标记将此答案标记为已接受。
【解决方案2】:

我建议:

$('.currency').click(function(){
    $('.currency').text(function(i,t){
        return parseFloat(t * 2).toFixed(2);
    });
});

【讨论】:

    【解决方案3】:
    $('button').click(function () {
        $('span.currency').each(function () {
            var newVal = $(this).text() * 2;
            $(this).text(newVal.toFixed(2));
        });
    });
    

    jsFiddle example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-06
      • 2019-07-26
      • 1970-01-01
      • 2020-08-19
      • 2012-07-24
      • 2015-12-06
      • 1970-01-01
      相关资源
      最近更新 更多