【发布时间】:2017-02-02 21:39:31
【问题描述】:
我正在尝试在更改事件中更改表值。当.woocommerce-variation 着火时,通过乘以totalvaluefirst 来计算新的比率。然后使用totalvaluelast 设置文本。但是当第二个事件被触发时,totalvaluefirst 保持不变并且文本不会改变。
jQuery('.woocommerce-variation').bind("DOMSubtreeModified",function(){
jQuery( ".total-value" ).each(function() {
var totalvaluefirst = (jQuery( this ).text() );
var totalvaluefirstnew = ratio * totalvaluefirst;
var totalvaluelast = Math.round( totalvaluelast * Math.pow(10, 2) ) / Math.pow(10, 2);
jQuery( this ).text(totalvaluelast);
});
});
【问题讨论】:
-
.bind已弃用,请改用.on, -
ratio在哪里定义?此外,您的 JS 不完整,因为您缺少最后一个右括号}); -
我缩小了代码,它正在工作,但我的问题(jQuery( this ).text() )每次都是一样的。
-
你能告诉我们
jQuery( ".total-value" ).length是什么吗? -
你想做什么?我猜有多个 .woocommerce-variation 元素。您所做的是为每个元素计算不同的值并将其设置为每个元素的新值。这行得通,但你似乎想做一些事情,比如计算账单,这是你想要的吗?
标签: javascript jquery text each dom-manipulation