首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使计算器在JQuery中添加新的公式,删除旧的取值并替换JQuery中的新按钮值?

在jQuery中实现计算器添加新公式、删除旧的取值并替换按钮值的过程如下:

  1. 首先,创建一个包含计算器的HTML结构。可以使用<div>元素和一系列按钮来表示数字、运算符和其他功能按钮。
  2. 使用jQuery选择器,获取到需要添加新公式的按钮和显示结果的区域。
  3. 定义一个点击事件处理程序,当用户点击添加新公式的按钮时触发。
  4. 在事件处理程序中,获取到用户输入的新公式,并根据需要进行验证和处理。
  5. 如果输入的公式合法,可以将其存储在一个数组或对象中,以便后续使用。
  6. 更新按钮的取值,将旧的按钮值替换为新公式中的相应值。
  7. 在事件处理程序中,还可以处理删除旧取值的逻辑。当用户点击删除按钮时,根据需要删除对应的公式并更新按钮值。
  8. 最后,根据需要,可以将计算结果显示在指定的区域。

以下是一个示例代码:

代码语言:txt
复制
// HTML结构示例
<div id="calculator">
  <input type="text" id="formula" readonly>
  <button class="number">1</button>
  <button class="number">2</button>
  <button class="operator">+</button>
  <button class="calculate">=</button>
  <button id="addFormula">添加公式</button>
  <button id="deleteFormula">删除公式</button>
  <div id="result"></div>
</div>

// jQuery代码示例
$(document).ready(function() {
  // 数字按钮点击事件处理程序
  $('.number').click(function() {
    var number = $(this).text();
    var formula = $('#formula').val();
    $('#formula').val(formula + number);
  });
  
  // 运算符按钮点击事件处理程序
  $('.operator').click(function() {
    var operator = $(this).text();
    var formula = $('#formula').val();
    $('#formula').val(formula + operator);
  });
  
  // 等号按钮点击事件处理程序
  $('.calculate').click(function() {
    var formula = $('#formula').val();
    var result = eval(formula); // 使用eval函数计算结果,仅作示例,请注意安全性
    $('#result').text(result);
  });
  
  // 添加公式按钮点击事件处理程序
  $('#addFormula').click(function() {
    var formula = $('#formula').val();
    // 处理公式的逻辑,验证、存储等
    // ...
    // 更新按钮值
    // ...
  });
  
  // 删除公式按钮点击事件处理程序
  $('#deleteFormula').click(function() {
    var formula = $('#formula').val();
    // 处理删除公式的逻辑
    // ...
    // 更新按钮值
    // ...
  });
});

请注意,以上代码仅为示例,仅实现了部分功能,并未包含完整的验证、存储和更新按钮值的逻辑。根据实际需求和设计,你可以进一步完善和扩展这个计算器功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

计算器为例介绍input操作焦点功能,兼容IE版本

前端操作input 焦点功能 经常会用到,你会用到以下功能吗? 选中input框某几个字母,监听该事件,获取选中字母内容。 input焦点向左移动一个,就像封面图一样,括号输入内容。...前提是点击 input 下方按钮,模拟键盘操作。 本文就结合 问题1 概念,以复杂计算器为例,来解决问题2。...问题2 需要解决一下几个小问题: 1) 点击计算器其他按钮,获取input 框当前 焦点停留位置。...2) 拼接 input 按钮 3) 设置 input 焦点位置,即老位置+按钮长度 + 按钮功能需要变动长度 4) 解决IE下点击按钮时,input焦点永远为0行为。...具体代码如图: 输入:HTMLInputElement 输出:鼠标停留在 input 框位置。 2)jssubstring方法。 获取到 input 光标的位置后,中间插入即可。

1.9K10

Github 移除 JQuery 过程

在这篇文章,我们将解释一点我们最初是如何开始依赖jQuery,我们是如何意识到不再需要jQuery指出我们没有用另一个库或框架替换它,而是能够使用标准浏览器api实现所需一切。...总之,与jQuery分离意味着我们可以更多地依赖web标准,让mdnweb文档成为我们前端开发人员事实上默认文档,未来维护更具弹性代码,最终从打包删除30kb依赖项,从而加快页面加载时间和...我们创建了一个pull请求bot,每当有人试图添加一个eslint禁用规则时,它都会在我们团队对pull请求ping留下评论。这样我们就可以尽早参与代码评审并提出备选方案。...例如,我们删除了特定于jQueryCSS伪选择器(如:visible或:checkbox)最终用法之后,我们能够删除Sizzle模块;当最后一个$.ajax调用被fetch()替换时,我们能够删除...这意味着我们将尽可能多内容保存在标记,并且只标记上添加行为。

2.1K10
  • 如何设计一个JavaScript插件系统

    首先,我们将插件与“核心(core)”计算器方法(如 plus 和 minus)分开,方法是将其放入自己插件对象。将我们插件存储plugins 对象可使我们系统更安全。...现在,当我们调用插件 exec 函数时,我们将当前计算器(currentValue )传递给该函数,期望它返回计算器。...本质上,这个 press 方法将我们所有的计算器按钮转换为纯函数。他们获取一个,执行一个操作,然后返回结果。这有很多好处: 它简化了 API。...如果插件作者忘记定义名称或返回,我们可以添加错误处理以通知插件作者。像 QA 开发人员一样思考想象一下我们系统如何崩溃,以便我们能够主动处理这些情况,这是很好。 我们可以扩展插件功能范围。...当前,一个 BetaCalc 插件可以添加一个按钮。但是,如果它还可以注册某些生命周期事件回调(例如当计算器将要显示时)怎么办?或者说,如果有一个专门地方让它在多个交互存储一段状态呢?

    79120

    【前端基础篇】JavaScript之jQuery介绍

    前言 阅读过程可以把代码片复制到vscode上去浏览器看实际效果,更易理解喔 JQuery基本介绍和使用方法 W3C 标准给我们提供了⼀系列函数, 让我们可以操作: ⽹⻚内容 ⽹⻚结构 ⽹⻚样式...引入依赖 使JQuery需要先引⼊对应使jQuery CDN时,只需要在HTML⽂档中加⼊如下代码 <script src="https://code.<em>jquery</em>.com/<em>jquery</em>-3.7.1...<em>删除</em>元素和内容,⼀般<em>使</em>⽤以下两个<em>jQuery</em>⽅法: remove():<em>删除</em>被选元素(及其⼦元素) empty():<em>删除</em>被选元素<em>的</em>⼦元素。...设置HTML内容 $("#elementId").html("HTML内容"); // 此时,#elementId 内容将被替换为粗体HTML内容” val...inputId").val(""); // 用户 inputId 输入框中会看到被更新为 "" css(): 获取或设置CSS属性,能够动态地改变元素样式,是实现动态交互效果重要工具。

    6610

    从GitHub.com放弃使用jQuery说起

    在这篇文章,我们将解释一下我们最初是如何依赖 jQuery ,又是如何意识到何时不再需要它指出——我们能够使用标准浏览器 API 实现我们需要一切(而不是用另一个库或框架替换它)。...我们创建了一个拉取请求机器人,当有人试图添加 eslint-disable 规则时,它会在拉取请求上留下评论通知我们团队。这样我们就可以尽早参与代码审查并提出替代方案。...例如,我们删除jQuery CSS 伪选择器(如 :visible或 :checkbox)之后,我们就能够删除 Sizzle 模块;当最后一个 $.ajax调用被 fetch() 替换时,我们能够删除...某些情况下,我们能够完全删除某些遗留代码,而不必 vanilla JS 重写它们。 这几年来,通过以上所述和诸如此类努力,我们逐渐减少了对 jQuery 依赖,直到不再有一行代码引用它。...我们追求渐进式增强理念也延伸到自定义标签上。这意味着我们标签尽可能保留原内容,只在其基础之上做行为添加

    89820

    与Ajax同样重要jQuery(2)

    class]) 移除一个class属性 toggleClass(class)如果存在(不存在)就删除添加)一个类 练习2: ² 点击button,使一个div背景颜色变为 黄色 ² 通过toggleClass...删除节点后,事件会保留 从1.4API 练习6: ² 分别使用detach和remove 删除带有click事件p标签,删除后再将p 重新加入body 查看事件是否存在 <script type="...⑦:<em>jQuery</em>复制和<em>替换</em> l 复制节点 $(“p”).clone(); 返回节点克隆后<em>的</em>副本,但不会克隆原节点<em>的</em>事件 $(“p”).clone(true); 克隆节点,保留原有事件 l <em>替换</em>节点 $(...练习1: ² 为页面内所有p 元素绑定 一次性事件,点击打印p元素<em>中</em>内容 ² 页面内有两个<em>按钮</em>,点击<em>按钮</em>1, 触发<em>按钮</em>2<em>的</em> click事件执行 <script type="text/javascript...p元素内容 $("p").one("click",function(){ alert($(this).text()); }); //页面内有两个按钮,点击按钮1, 触发按钮2 click事件执行 $

    6.2K50

    jQuery(一)

    jQuery将会使用同一个方法既当getter又做setter,而不是定义一对方法,如果传入一个给方法,则它将设置此。 用做setter时,这些方法会给jquery对象每个元素设置。...elt.offset(position); // 设置位置 // 将所有的元素向右移动,移动距离取决于它们文档位置 $('h1').offset((index, curpos) =>...(''); // 每个h1后面添加标签 $('h1').replaceWith(''); // 替换h1元素为br元素 $('h2').each( () => { // 进行遍历...替换为br 复制元素 // 给文档结尾添加一个带有linklist id div $(document.body).append('List of Links...'); // 将文档所有链接复制插入该div $('a').clone().appendTo('#linklist'); // clone不会复制事件处理程序 // 每一个链接后插入

    2.1K40

    学习jQuery设计思想有感

    我认为是有的,因为jQuery也蕴含了很多编程套路,我们新人应该学习一些jQuery思想,它可以作为一个过渡,帮助我们更好地理解Vue和React等更为复杂框架 设计思想 我们知道,jQuery基本设计思想和主要用法...就不会死,因为这个函数访问elements,被访问东西是不能随便删掉 链式调用 (以下jQuery()均写为$) 上述代码是通过addClassreturn this(这个this就是api...$('div').find('h3').eq(2).html('Hello'); //找到所有的div元素,div元素了找到h3标签,选择第三个h3标签,替换文本内容 复制代码 可以看到,这样连起来调用方式就称为链式调用...,它在下次调用函数时,函数包含了上一个函数返回,所以它可以把不同操作连在一起 不仅如此,jQuery还提供了一个end方法,使得结果集可以返回上一步   $('div')    .find(...复制代码 类似地,取值和赋值函数有:  .html() 取出或设置html内容  .text() 取出或设置text内容  .attr() 取出或设置某个属性 ......

    80130

    【Java 进阶篇】JQuery DOM操作:轻松驾驭网页内容魔法

    轻松引入JQuery 使用JQuery之前,我们需要引入JQuery库。可以通过HTML文件添加以下代码来获取JQuery: <!...这种结构使得我们能够通过JavaScript(或JQuery)轻松地操作、创建、删除替换HTML元素。 选取元素 JQuery,选择器是我们选取DOM元素利器。...通过选择器,我们可以准确地找到页面上元素,对其进行操作。选择器以$()形式出现,括号传入选择器字符串。...假设我们要创建一个简单待办事项列表,用户可以通过表单添加待办事项,同时可以删除已完成事项。 <!...用户可以输入框输入待办事项,点击"添加"按钮后,事项会被追加到列表。每个事项后面都有一个"删除"按钮,点击它可以删除相应事项。

    25850

    最常见 20 个 jQuery 面试问题及答案

    这是 jQuery 提供众多操控 DOM 方法一个。你可以通过 appendTo() 方法指定 DOM 元素末尾添加一个现存元素或者一个 HTML 元素。   10....如果你调用attr()同时带上一个 例如. attr(name, value), 这里name是属性名称,value是属性。   ...你也还可以看看 用来向DOM添加元素 appendTo() 方法.   15. 你如何利用jQuery来向一个元素添加和移除CSS类?...这是 jQuery 提供众多操控 DOM 方法一个。你可以通过 appendTo() 方法指定 DOM 元素末尾添加一个现存元素或者一个 HTML 元素。   10....如果你调用attr()同时带上一个 例如. attr(name, value), 这里name是属性名称,value是属性

    13.8K30

    jquery面试题目_高并发面试题

    你是如何将一个 HTML 元素添加到 DOM 树?(答案如下) 你可以用 jQuery 方法 appendTo() 将一个 HTML 元素添加到 DOM 树。...这是 jQuery 提供众多操控 DOM 方法一个。你可以通过 appendTo() 方法指定 DOM 元素末尾添加一个现存元素或者一个 HTML 元素。 10....你如何使用jQuery设置一个属性? (答案) 前面这个问题之后额外一个后续问题是,attr()方法和jQuery其它方法一样,能力不止一样....如果你调用attr()同时带上一个 例如. attr(name, value), 这里name是属性名称,value是属性。...你也还可以看看 用来向DOM添加元素 appendTo() 方法. 15. 你如何利用jQuery来向一个元素添加和移除CSS类?

    9.4K10

    最新jquery+easyui_api培训文档

    这些选项参数可以是一下一个配置对象:showType:定义如何将显示消息窗口。可用是:null,slide,fade,show。默认是slide。...false maximized 布尔 定义初始化时候最大化面板 false closed 布尔 定义初始化时候关闭面板 false href 字符串 一个远程URL加载数据,然后显示面板...toggle target 绑定某个节点展开或者折叠状态,使之不能再改变。 remove target 删除一个节点和它子节点,目标参数表明该节点DOM对象。...加载本地数据,行将被删除 getData none 返回已加载数据 getRows none 返回当前页行数 getSelected none 返回第一次选择行记录 getSelections...appendRow row 添加行 deleteRow index 删除一行 getChanges type Get changed rows since the last commit.

    3.2K40

    看不完那种!前端170面试题+答案学习整理(良心制作)

    ,如没有,查看网络资源,确认与地图相关图片资源有无加载,若加载了,将地图调用代码从项目中独立出来,看能否正常显示,若能显示,项目中,使用二分法一半一半地删除引用JavaScript,css...,也会移除元素内部一切,包括绑定事件以及与该元素相关jquery数据 detach()虽然可以将元素自身移除,但是它不会删除数据和绑定事件 57.如何利用jquery,来向一个元素添加或移除css...63.如何jquery将一个html元素添加到dom树 appendTo()方法,将一个html元素添加到dom树,使用它可以指定dom元素末尾添加一个现存元素或者一个html元素。...如何jQuery动态添加元素,如何给新生产元素绑定事件 jQueryhtml()可以给当前元素添加元素。直接在元素还未生成前就绑定事件肯定是无效,因为所绑定元素目前根本不存在。...如何删除属性 jquery可以用attr()方法来获取和设置元素属性,可以用removeAttr()方法来删除元素属性。

    11.5K50

    设计一个JavaScript插件系统

    首先,我们将插件与“核心”计算器方法(如plus和minus)分开,方法是将其放在自己插件对象。将插件存储一个plugin对象可以使我们系统更安全。...现在,当我们调用插件 exec 函数时,我们将当前计算器(currentValue)传递给它,并且我们期望它返回计算器。...本质上,这种 press 方法将我们所有的计算器按钮转换为纯函数。他们获取一个,执行一个操作,然后返回结果。这有很多好处: 简化了API。 使测试更加容易(对于BetaCalc和插件本身)。...如果插件作者忘记定义名称或返回,我们可以添加错误处理以通知插件作者。像QA开发人员一样思考想象我们系统如何崩溃,以便我们能够主动处理这些情况。 我们可以扩展插件功能范围。...现在,一个 BetaCalc 插件可以添加一个按钮。但是,如果它还可以注册某些生命周期事件回调(例如当计算器将要显示时)怎么办?或者,如果有一个专用位置来存储多个交互状态,该怎么办?

    74141

    如何使用JavaScript导入和导出Excel文件

    本篇教程,我将向您展示如何借助SpreadJS,JavaScript轻松实现导入和导出Excel文件操作,以及将SpreadJS组件添加到HTML页面是多么容易。 ?...导入和编辑Excel文件后完成页面 工欲善其事,必先利其器 请下载SpreadJS 纯前端表格控件,以便同步体验 设置JavaScript电子表格项目 创建一个HTML页面添加对SpreadJS...让我们页面上添加一个按钮来执行此操作: Add Revenue 我们可以为该按钮click事件绑定一个函数,用以执行添加复制上一行样式...实现添加功能。...导入和编辑Excel文件后完成页面 实现添加行功能后,可以使用“导出文件”按钮导出Excel。

    6.6K00

    jQuery原理(原型上属性、方法)

    / 版本号 jquery: "1.1.0", // 实例默认选择器取值 selector: "", // 实例默认长度 length: 0, // 给实例添加新元素...push: [].push, // 对实例元素进行排序 sort: [].sort, // 按照指定下标指定数量删除元素,也可以替换删除元素 splice...,是jQuery类型实例对象 first: function () { return this.eq(0); }, last:获取实例最后一个元素,是jQuery类型实例对象 last:...,然后把回调返回收集起来组成一个数组返回 map方法与each方法区别 each静态方法默认返回就是, 遍历谁就返回谁; map静态方法默认返回是一个空数组 each静态方法不支持回调函数对遍历数组进行处理...;map静态方法可以回调函数通过return对遍历数组进行处理, 然后生成一个数组返回 kjQuery.extend({ map: function (obj, fn) {

    96820

    jQuery选择器、Dom操作、样式、事件处理

    具体点来说就是指 HTML 文本所有被标签标记东西 ,js里可以用 getElementById 等传统方法获得对象,拥有原生对象属性和方法。...var domObj = document.getElementById('id'); //DOM对象 var obj=('#id'); //jQuery对象; 注意:jQuery对象无法使用DOM...); }) //事件二,给事件添加命名空间,下面的.myClick 就是添加命名空间,用来标识本次事件,删除事件时候方便指定 $("#btn").on("click.myClick",function...bind() 方法为被选元素添加一个或多个事件处理程序,规定事件发生时运行函数。...Paste_Image.png delegate:用于事件代理,为指定元素(属于被选元素子元素)添加一个或多个事件处理程序,规定当这些事件发生时运行函数;适用于当前或未来元素(比如由脚本创建新元素

    2K30
    领券