javascript追加出现两次

时间:2010-09-29 07:45:51

标签: javascript jquery

这是我的问题,我有这个javascript

if (exchRate != "") {

function roundthecon() {
var value = Math.round(exchRate*Math.pow(10,2)) / Math.pow(10,2);
$('.tablenotes > p > strong ').append(value);
}

function addCommas(nStr) {
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}

return x1 + x2;
}


        // When the document is loaded..
        $(document).ready(function(){


                // Grab an array of the table cells
                $('.evenprop table tr td:not(.title)').each(function(){

                        // Calculate the pound price
                        var v_euro = $(this).html();

                        if (v_euro != "N/A") {

                        var v_euro = v_euro.replace(/,/g,'');
                        var v_euro = v_euro.replace(/\u20AC/g, '');
                        var v_euro = v_euro.replace(/£/g, '');

                        var v_pound = Math.round(v_euro / exchRate);
                        v_pound = addCommas(v_pound);

                        // Create a new span element for the pound


                        // Insert it at the end of the table cell

                        if (exchRate == <%= Session("xch_dollar") %>) {
                        $(this).prepend("$");
                        }
                        if (exchRate == <%= Session("xch_ntl") %>) {
                        $(this).prepend("X");
                        }
                        if (exchRate == <%= Session("xch_euro") %>) {
                        $(this).append("&euro;");
                        }

                        var o_span = $('<span/>').html(' <span style="font-weight:normal;" id="exchRate">(&pound;' + v_pound + ')</span>');
                        $(this).append(o_span);

                        }
                });

        });

        }

这是我在页面中的html

<div class="tablenotes">

<p><span class="tariffnote">Weekly price in Euros.</span> &pound; in brackets are approximate sterling equivalent based on <strong>&pound;1 = 
  <script type="text/javascript">roundthecon()</script><noscript><%= Session("xch_euro") %></noscript>&euro;</strong>    </p>


</div>

exchRate = 1.1986出于某种原因我的代码显示了这一点。

<div class="tablenotes">

<p><span class="tariffnote">Weekly price in Euros.</span> £ in brackets are approximate sterling equivalent based on <strong>£1 = 
  1.2<noscript>1.1986</noscript>€1.2</strong>    </p>


</div>

它正在将exchRate四舍五入,但它将它置于两次

有人有任何想法吗?

由于

杰米

1 个答案:

答案 0 :(得分:0)

通过这样做我解决了这个问题

$(document).ready(function(){
    var value = Math.round(exchRate*Math.pow(10,2)) / Math.pow(10,2);
    $('.tablenotes > p > strong ').html("&pound;1 = " + value + "&euro;");
});

它取代了整个HTML而不是附加