可以在课堂上调用fancybox吗?

时间:2011-11-18 23:24:01

标签: javascript jquery css fancybox

我无法在像这样的元素上调用fancybox:

$(this).parent().parent().parent().find('.comments').fancybox();

这不可能吗?是因为它是一个类而不是一个id?

我有几行项目,因此无法为所有项目设置ID。

有什么建议吗?这是整个JS代码(show()在这里工作,但fancybox()失败):

$(".action").click(function(e) {
        e.preventDefault();
        $(this).parent().parent().parent().find('.comments').show();
        return false;
    });

3 个答案:

答案 0 :(得分:3)

你说的是错误的方式;尝试以下方法:

$('.action').click(function(e){
    e.preventDefault();
    target = $(this).closest('.comments').html();
    $.fancybox({
        content: target
        // More Options
    });
    return false;
});

我希望这有帮助!

答案 1 :(得分:1)

在元素上调用.fancybox()只会初始化fancybox。实现它的最佳方式取决于您没有发布的HTML。

但无论如何,这个解决方案应该有效:

$(".action").click(function(e) {
    e.preventDefault();

    var a = document.createElement('a');
    var jqA = $(a);

    jqA.fancybox({
        content: $(this).parent().parent().parent().find('.comments').html()
        // other options go here
    });

    jqA.click();

    return false;
});

答案 2 :(得分:0)

只需使用

$(this).closest('.comments').fancybox();

外部点击功能。