我如何从jquery插件中引用主题$(this)?

时间:2010-04-12 12:07:36

标签: javascript jquery

我正在使用colorbox,我只是将未定义作为我的获取值?

$('.banner').colorbox({
    opacity: 0.4,
    href: 'dialogs/ban_add_edit.php?banner_to_edit='+$(this).attr('id')+'&typeofbanner='+$(this).attr('rel')            
    })

1 个答案:

答案 0 :(得分:2)

你可以这样做:

$('.banner').each(function() {
  $(this).colorbox({
    opacity: 0.4,
    href: 'dialogs/ban_add_edit.php?banner_to_edit='+this.id+'&typeofbanner='+$(this).attr('rel')            
  });
});

在您当前的代码this中指的是您正在运行此代码的任何内容,可能是document.ready函数(因此this = document)。在此版本中,您循环遍历.banner元素,而this指的是您循环时所在的元素。

另外一个更改是this.id,我经常这样做,但不需要$(this).attr('id'),除非您需要处理以后链接... this.id原始DOM样式更短更快:)