JQuery, Colorbox, JQuery синтаксис в параметрах - PullRequest
2 голосов
/ 25 ноября 2011

Я хотел бы сделать следующее, однако это не работает. Опять же, я уверен, что это должно быть простым, но я не могу заставить его скомпилировать.

$(".villa-caller").colorbox({
    innerWidth: "850px",
    innerHeight: "500px",
    inline: true,
    href: "#"+$(this).attr("rel")+"",
    onClosed:function(){colorbox_closed();}
});

В параметре href я использую синтаксис jQuery для получения значения атрибута rel из выбранного элемента.

Спасибо за помощь

Ответы [ 3 ]

3 голосов
/ 25 ноября 2011

Я полагаю, что проблема здесь из-за объема this.Попробуйте следующее:

$(".villa-caller").each(function() {
    $(this).colorbox({
        innerWidth: "850px",
        innerHeight: "500px",
        inline: true,
        href: "#" + $(this).attr("rel") + "",
        onClosed:function(){ colorbox_closed(); }
    });
});

Это должно гарантировать, что this является элементом .villa-caller, для которого вы инициализируете colourbox.

0 голосов
/ 25 ноября 2011

EDIT:

Попробуйте следующее:

Изменение

href: "#"+$(this).attr("rel")+""

К

href: "#"+$(".villa-caller").attr("rel")
0 голосов
/ 25 ноября 2011

Я думаю, что проблема в том, что вы используете это здесь, потому что я не думаю, что это ссылается на то, что вы думаете (текущий объект с классом "villa-caller"

href: "#"+$(this).attr("rel")+"",

РЕДАКТИРОВАТЬ - вы могли бы сделать

$(".villa-caller").each(function() {
    var href = "#" + $(this).attr("rel");
    $(this).colorbox({
      innerWidth: "850px",
      innerHeight: "500px",
      inline: true,
      href: href ,
      onClosed: colorbox_closed()
});
...