创建一个基本的jquery插件

时间:2014-12-01 13:56:15

标签: javascript jquery

我是jQuery插件的新手,我已经关注了这个Tutorial并且已经解决了以下代码:

  if (!($(this).attr('data-mobHigh') === undefined)) {
   $(this).attr("src", $(this).attr("data-mobHigh"));
  }

我正在初次化这个插件

        $('img').mezzaraine();

我不知道第二个$(this)引用更改为img,因为我在第二行的插件中给出了img参数:

  $(this).attr("src", $(this).attr("data-mobHigh"));

this - (一个html属性)也更改为img。我需要使用this代替'img'。

如何做到这一点?

1 个答案:

答案 0 :(得分:4)

您可以将this存储为本地变量。

$.fn.mezzaraine = function() {
    var $imgs = this;
    $imgs.each(function(i, img) {
        var $img = $(img); // wrap with $ if you want to chain jQuery methods

        // things you are going to do
    });
}

然后重复使用变量,而不是每次都用$换行。

if($img.attr('data-mobHigh') !== undefined) {
    $img.attr("src", $img.attr("data-mobHigh"));
}

此外,当您使用数据集时,jQuery提供了更好的API

if($img.data('mobHigh') !== undefined) {
    $img.attr("src", $img.data("mobHigh"));
}