首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >重构jQuery代码以避免DRY方法

重构jQuery代码以避免DRY方法
EN

Stack Overflow用户
提问于 2018-06-09 02:55:37
回答 1查看 26关注 0票数 0

这是一个待办事项清单,它很有效,但我知道它可能会更有效率。这样做的目的是在显示或不显示输入文本框之间切换,我还更改了图标。

代码语言:javascript
复制
$("i:first").click(function(){

    if($('i:first').attr("class") === "fas fa-plus"){
        $('i:first').removeClass("fas fa-plus");
        $('i:first').addClass("fas fa-angle-double-up")
        $('input').css("display", "block");
    }
    else if($('i:first').attr("class") === "fas fa-angle-double-up"){
        $('i:first').removeClass("fas fa-angle-double-up");
        $('i:first').addClass("fas fa-plus")
        $('input').css("display", "none");
    }
});
EN

回答 1

Stack Overflow用户

发布于 2018-06-09 03:03:04

为什么你不想让它变干呢?代码枯燥是一件非常好的事情,也是你应该始终致力于实现的事情,而不是避免。

我将假设这是翻译中的一个错误,您实际上想要使这段代码枯竭,否则我看不出问题的要点。

因此,可以使用toggleClass()toggle()将单击处理程序减少到两行

代码语言:javascript
复制
$("i:first").click(function() {
  $(this).toggleClass('fa-plus fa-angle-double-up');
  $('input').toggle();
});

还要注意在处理程序中使用this来引用被单击的元素。这是您可以进行的另一个优化,这样就不必再次查询DOM来检索您已经引用的元素。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50766861

复制
相关文章

相似问题

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