首页
学习
活动
专区
工具
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)js的substring方法。 获取到 input 光标的位置后,在中间插入新值即可。

1.9K10

Github 移除 JQuery 的过程

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

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

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

    80020

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

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

    9810

    从GitHub.com放弃使用jQuery说起

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

    90620

    与Ajax同样重要的jQuery(2)

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

    HTML-DOM:用于处理HTML文档,如document.forms CSS-DOM:用于操作CSS,如element.style.color="green" jQuery对JavaScript中的DOM...jQuery中的DOM操作 4.1 样式操作 之前的样式设置: 选择器对象.css('属性','值') 比如: $("p").css("color",'red') 增加样式: $("p").addClass...('bgStyle') toggle:模拟连续点击; toggleClass:如果存在就删除一个类,如果不存在,则添加这个样式。...语法​ ​功能​ attr() 获取属性节点 attr({name1:value1,..n,nameN:valueN}) 设置属性节点的多个属性的值 removeAttr(属性名) 删除指定的属性节点...,没有则增加样式; 2.追加节点有4个,2个子元素街边;2个兄弟元素级别; 3.节点操作就是删除、清空、复制、替换(删改) 4.属性节点:attr() attr('name','name) 5.节点的遍历

    7410

    学习jQuery设计思想有感

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

    80230

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

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

    26750

    最常见的 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入门基础教程免费版

    “家乡”中的“北京”选项;#userform是表单名,不是下拉框 2.6 属性操作 jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对...jQuery中的DOM操作 4.1 样式操作 之前的样式设置: 选择器对象.css('属性','值') 比如: $("p").css("color",'red') 增加样式: $("p").addClass...('bgStyle') toggle:模拟连续点击; toggleClass:如果存在就删除一个类,如果不存在,则添加这个样式。...语法 功能 remove() 删除节点 empty() 清空节点内容 replaceWith() 替换节点 clone() 复制节点 <!...; 2.追加节点有4个,2个子元素街边;2个兄弟元素级别; 3.节点操作就是删除、清空、复制、替换(删改) 4.属性节点:attr() attr('name','name) 5.节点的遍历,注意使用:$

    10210

    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

    【JQuery】基础从零入门操作,简单详细

    API来绑定、触发和处理事件,使开发⼈员能够更⽅便地处理各种交互⾏为. 1:引入依赖 使⽤JQuery需要先引⼊对应的库 在使⽤jQuery CDN时,只需要在HTML⽂档中加⼊如下代码 的压缩版 二:JQuery使用 三:JQuery语法 JQuery 的代码通常都写在 document ready 函数中 这是为了防⽌⽂档在完全加载(就绪)之前运⾏ jQuery...赋值 七:获取、设置元素属性 JQuery attr() ⽅法⽤于获取属性值 如果attr中只有key就是取值;有key,有value就是赋值 注:attr(attribute) 1...:取值 2:赋值 举例①更改链接 举例②更改图片尺寸 举例③点击 按钮尺寸变大 六:获取返回CSS值/属性 css() ⽅法设置或返回被选元素的⼀个或多个样式属性 1:返回属性 (1)...标签内部进行追加 (2)after和before 注:都是放到了标签外部进行追加 4:删除元素 (1)remove (2)empty() ①问题引入 ②区分按钮——引入id 七:应用 1

    9910

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

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

    11.5K50

    设计一个JavaScript插件系统

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

    74941
    领券