首页 > 解决方案 > Jquery - 只删除一次匹配的文本

问题描述

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

示例列表:
玉米片
薯条
玉米片
汉堡
玉米片

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

    $(".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('')        
        }        
    })

标签: javascriptjqueryhtml

解决方案


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


推荐阅读