我如何在jQuery中组合这三个代码块,并将它们写得更优雅/更高效?

How can I combine these three blocks of code in jQuery and write them more elegantly/efficiently?

本文关键字:高效 代码 jQuery 组合 三个      更新时间:2023-09-26

我有以下三个代码块,我想知道我是否可以以某种方式将它们组合起来,这样我就不必一遍又一遍地编写相同的代码。抱歉我的解释有点滑稽。我只是想学会尽可能优雅/高效地写作。

HTML

<a href="#" id="download-1">Tweet to Download</a></li>
<a href="#" class="download1">Download</a></li>
<a href="#" id="download-2">Tweet to Download</a></li>
<a href="#" class="download2">Download</a></li>
<a href="#" id="download-3">Tweet to Download</a></li>
<a href="#" class="download3">Download</a></li>
<标题> 1
  // Download 1
  $('#download-1').tweetAction({
    url: 'download1',
    text: 'Download 1',
    via: 'twittersn'
  },function(){
    // When the user closes the pop-up window:
    $('a.download1')
      .addClass('active')
      .attr('href','download1.psd');
  });
<标题> 2 h1> 3
  // Download 3
  $('#download3').tweetAction({
    url: 'download3',
    text: 'Download 3',
    via: 'twittersn'
  },function(){
    // When the user closes the pop-up window:
    $('a.download3')
      .addClass('active')
      .attr('href','download3.psd');
  });

在函数中换行,这样:

function tweetFunc(id) {
    $('#download-' + id).tweetAction(
        {
            url: 'download' + id,
            text: 'Download ' + id,
            via: 'twittersn'
        },
        function() {
            // When the user closes the pop-up window:
            $('a.download' + id)
                .addClass('active')
                .attr('href','download' + id + '.psd')
            ;
        }
    );
}
for(i = 1; i <= 3; i++) {
    tweetFunc(i);
}

要做到这一点,你需要同步你的下载id属性的格式:是download-X还是downloadX ?