【问题标题】:How I can shorten my jquery code and use like as function?如何缩短我的 jquery 代码并使用 like 作为函数?
【发布时间】:2014-05-17 23:27:28
【问题描述】:

如何缩短代码?他想应用 DRY 的原理? 这里代码:

$('a[href^="#register"]').click(function(e){
    $('.box').addClass('active');
    $('.box div').load('register.html');
    e.preventDefault();
});

$('a[href^="#blog"]').click(function(e){
    $('.box').addClass('active');
    $('.box div').load('blog.html');
    e.preventDefault();
});

$('a[href^="#contact"]').click(function(e){
    $('.box').addClass('active');
    $('.box div').load('contact.html');
    e.preventDefault();
});

请帮忙:)

【问题讨论】:

  • 现在清晰易读。这是最重要的。

标签: jquery function plugins dry


【解决方案1】:

尝试类似:

$('a[href^="#register"], a[href^="#blog"], a[href^="#contact"]').click(function(e){
    $('.box').addClass('active');
    $('.box div').load(this.getAttribute('href').split('#')[1]+'.html');
    e.preventDefault();
});

【讨论】:

    【解决方案2】:

    在锚标签上应用类并在类上写事件,如下所示:

    $('a.MyClass').click(function(e){
    
    
    $('.box').addClass('active');
    $('.box div').load($(this).attr("href").split('#')[1]+'.html');
    e.preventDefault();
    
    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-18
      • 2020-10-09
      • 2013-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多