FancyBox, Получая ATTR объекта нажат

У меня есть следующие строки кода:

    $("a.quickview").fancybox({
        ajax : {
            type    : "POST",
            data    : 'itemID=' + $(this).attr("name")
        }
    });

Который привязывает:

<a name="614" class="quickview" href="/URL/index.cfm">quick view</a>

Я хочу, чтобы данные отправили как itemID=614, но $ (этот) .attr ("имя") возвращается как неопределенный? Что я делаю неправильно?

Спасибо

13
задан AnApprentice 28 March 2010 в 17:57
поделиться

1 ответ

Как вы это написали $ (this) - это не то, что вы ожидали. this в этом контексте не a , на котором щелкнули, но то, что это , когда вы запускаете $ ("a.quickview"). Fancybox ( {...}) .

Используйте этот код вместо

$("a.quickview").each(function() {
    var a = $(this);
    a.fancybox({
        ajax : {
            type    : "POST",
            data    : 'itemID=' + a.attr("name");
        }
    });
});

или если есть только один a.quickview , который вы хотите привязать к fancybox, чтобы использовать этот более простой код

var a = $("a.quickview");
a.fancybox({
    ajax : {
        type    : "POST",
        data    : 'itemID=' + a.attr("name");
    }
});
4
ответ дан 1 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: