我陷入无限循环,无法解决这个问题。我希望有人能帮助我。
所以我有两列,一列称为“常规价格”,第二列为“乘数”
我需要检查常规价格是否发生变化,乘数也必须发生变化,反之亦然,如果乘数发生变化,则常规价格必须发生变化。
这是我为这个问题找到的最接近的解决方案(它可以工作,但是死了):
jQuery('.column-yith_wcbep_cf_multiplicador').bind('DOMSubtreeModified', function(){
var tabela1 = document.getElementsByClassName("yith_wcbep_products")[0].rows
var arrayMultiplicador1 = []
for (k = 1; k < tabela1.length -1; k ++){
var multiplicadorNovo1 = tabela1[k].childNodes[10].innerHTML
var pvaNovo1 = tabela1[k].childNodes[11].innerHTML
var regularPriceNovo1 = tabela1[k].childNodes[5].innerHTML
var numeroPVA1 = Number(pvaNovo1)
var numeroRegularPrice1 = Number(regularPriceNovo1)
var numeroMultiplicador1 = Number(multiplicadorNovo1)
var novoResultado1 = numeroRegularPrice1 / numeroPVA1
// tabela1[k].childNodes[10].innerHTML = novoResultado;
var multiplicadorAll1 = tabela1[k].childNodes[10].innerHTML
arrayMultiplicador1.push(multiplicadorAll1)
var resultadroRegPrice1 = numeroMultiplicador1 * numeroPVA1
tabela1[k].childNodes[5].innerHTML = resultadroRegPrice1.toFixed(2)
}
});
jQuery('.regular_price').bind('DOMSubtreeModified', function(){
var tabela = document.getElementsByClassName("yith_wcbep_products")[0].rows
var arrayMultiplicador = []
var ids = []
for (i = 1; i < tabela.length -1; i ++){
var multiplicadorNovo = tabela[i].childNodes[10].innerHTML
var pvaNovo = tabela[i].childNodes[11].innerHTML
var regularPriceNovo = tabela[i].childNodes[5].innerHTML
var numeroPVA = Number(pvaNovo)
var numeroRegularPrice = Number(regularPriceNovo)
var numeroMultiplicador = Number(multiplicadorNovo)
var novoResultado = numeroRegularPrice / numeroPVA
tabela[i].childNodes[10].innerHTML = novoResultado;
var multiplicadorAll = tabela[i].childNodes[10].innerHTML
arrayMultiplicador.push(multiplicadorAll)
// var resultadroRegPrice = numeroMultiplicador * numeroPVA
// tabela[i].childNodes[5].innerHTML = resultadroRegPrice.toFixed(2)
}
});
发生的事情是,当我更改其中一列时,另一列也发生了变化,并且变成了无限循环,控制台充满了错误,网站崩溃了-https://prnt.sc/uq6wm9
我该怎么做才能防止这种情况?
谢谢。