所以我正在运行这个带有 jQuery 的 Javascript 函数,它innerHTML
使用类“”重新格式化所有 h1 元素的格式unformatprice
。该类在重新格式化结束时被删除,以便在函数再次运行时不会再次重新格式化。这里是元素:
<h1 class="price unformatprice" id="price-13059062">CAD 25.20</h1>
<h1 class="price unformatprice" id="price-13059163">CAD 25.20</h1>
和功能:
function currencyreformat(){
var h2s = document.getElementsByClassName("unformatprice");
for(var h = 0; h < h2s.length; h++ ) {
var d = h2s[h].innerHTML;
var d1 = d.slice(0,4);
var d2 = d.replace(d1,"<span style='font-size:12px;'>CAD</span><strong>$");
var d3 = d2.slice(0,-3);
var d4 = d2.replace(d3,"");
h2s[h].innerHTML = d3+"<span style='font-size:15px;'>" + d4 + "</span></strong>";
jQuery("#" + h2s[h].id).removeClass("unformatprice");
}
}
格式化的元素应如下所示:
<h1 class="price" id="price-13059062">
<span style="font-size:12px;">CAD</span>
<strong>
$25
<span style="font-size:15px;">.20</span>
</strong>
</h1>
但是当我运行该函数时,实际上只有一半的元素发生了变化,另一半没有变化,甚至保留了“unformatprice”类。
但是
,当我删除删除“unformatprice”类的行时:
jQuery("#" + h2s[h].id).removeClass("unformatprice");
所有元素都被格式化!我完全不知道为什么会这样,请参阅此小提琴以供参考:http: //jsfiddle.net/CqYCy/3/