我是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'。
如何做到这一点?
答案 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"));
}