首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery -只删除匹配的文本一次

Jquery -只删除匹配的文本一次
EN

Stack Overflow用户
提问于 2019-03-13 10:32:06
回答 2查看 51关注 0票数 0

下面的代码运行在具有类.removeFood的项列表中。如果单击的食物名称与列表中的项目匹配,则将其替换为空白文本。

示例列表:

烤干酪辣味玉米片

薯条

烤干酪辣味玉米片

汉堡

烤干酪辣味玉米片

问题:,如果列表中有重复项,它将删除所有匹配项。因此,在上面的列表中,它将删除所有3个“玉米片”--我如何只删除第一个匹配项?

代码语言:javascript
运行
复制
    $(".removeFood").click(function() {    
        $(this).text('')     
        if (food1.trim() == removeThis.trim()){
           $("#newFoodName1" ).text('')
        }        
        if (food2.trim() == removeThis.trim()){
           $("#newFoodName2" ).text('')
        }         
        if (food3.trim() == removeThis.trim()){
           $("#newFoodName3" ).text('')
        }         
        if (food4.trim() == removeThis.trim()){
           $("#newFoodName4" ).text('')
        }        
        if (food5.trim() == removeThis.trim()){
           $("#newFoodName5" ).text('')        
        }        
    })
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-13 10:45:19

对代码中连续的ifs使用"else if“。如果所有条件都是" If“,它将执行所有这些条件。

票数 2
EN

Stack Overflow用户

发布于 2019-03-13 10:58:31

使用switch而不是if更好地使用相同变量的验证数量

代码语言:javascript
运行
复制
$(".removeFood").click(function() {
  $(this).text('')
  switch (removeThis.trim()) {
    case food1.trim():
      $("#newFoodName1").text('')
      break;
      // like wise
  }
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55139714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档