为什么jQuery .text取代了整个范围?

tsd*_*ter 0 html javascript jquery

我有以下HTML

<p><input id="revenue" type="text" value="100000" /><span id="howmuch"><a href="" class="ka_button small_button small_cherry" target="_self" style="opacity: 1; "><span>How Much?</span></a></span></p>
<p id="howmuchpercent">You save <span id="savingspercent">$<span id="howmuchspan">23000.00</span>*</span></p>
Run Code Online (Sandbox Code Playgroud)

以下是Javascript

jQuery(document).ready(function(){
    jQuery('span#howmuch a').click(function(e){
        e.preventDefault();
        var revenue = jQuery('input#revenue').val();
        var savingsonrevenue = revenue * 0.23;
        jQuery('span#howmuchspan').text(savingsonrevenue.toFixed(2));
    });
});
Run Code Online (Sandbox Code Playgroud)

当我How Much?因某种原因点击按钮而不是替换它的内容时,span#howmuchspan它正在替换整个跨度,从而产生以下HTML

<span id="savingspercent">57500.00</span>
Run Code Online (Sandbox Code Playgroud)

代替

<span id="savingspercent">$<span id="howmuchspan">57000.00</span>*</span>
Run Code Online (Sandbox Code Playgroud)

Mik*_*ans 7

我在JSFiddle上尝试了你的代码,它运行得很好:http://jsfiddle.net/2FQ4X