javascript - 为什么 jQuery .text 会替换整个范围?

标签 javascript jquery html

我有以下 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>

以及以下 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));
    });
});

当我出于某种原因单击多少?按钮而不是替换span#howmuchspan的内容时,它会替换整个范围,从而产生以下HTML

<span id="savingspercent">57500.00</span>

而不是

<span id="savingspercent">$<span id="howmuchspan">57000.00</span>*</span>

最佳答案

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

关于javascript - 为什么 jQuery .text 会替换整个范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8175963/

相关文章:

jquery - 为什么这个 CSS3 高度转换不起作用

html - 使用 css 包含两部分的下拉菜单

html - Bootstrap 。屏幕左侧是白色条纹

java - GWT - 将外部 JavaScript 文件注入(inject) GWT 应用程序,无需 ScriptInjector

javascript - 如何将 webpack 包导出为全局脚本(不是模块)?

javascript - 通过单击 div 来选中复选框 - 不适用于其他功能

javascript - 基础 JQuery : data-attribute + children() difference

html - 基于窗口宽度和高度的媒体查询

javascript - 使用正则表达式在 JavaScript 中屏蔽日期的最后两位数字

javascript - Ajax 将 div 替换为另一个 div(新 css)