从class属性调用fancybox时获取锚点的id

时间:2014-02-05 18:46:47

标签: jquery class attributes fancybox

我试图从类属性调用fancybox时从锚点获取id,是否有任何方法可以执行此操作或者是否需要从click事件中获取它?我已经尝试使用$(this)但没有使用$(" .nameOfTheClass")。attr(" id")

这是我的代码:

$(".cerrar_actividad").fancybox({
    'scrolling'     : 'no',
    'titleShow'     : false,
    'helpers'       : {
        title  : null
    },
'beforeLoad'    : function() {
    var str  =  $(".cerrar_actividad").attr("id").split("_");
    var id_actividad = str[1];
    alert(id_actividad);
},
...
});

和html代码:

<a href="#cerrarActividad" class="cerrar_actividad" id="actividad_<?php echo $a['id_actividad'] ?>"><img src="..." /></a>

我需要这个,因为我需要填写一个表格来获取身份信息。

2 个答案:

答案 0 :(得分:1)

您不需要使用.each(),只需在afterLoadbeforeLoad也可以)的回调中获取元素的ID,如

$(".cerrar_actividad").fancybox({
    afterLoad: function () {
        alert($(this.element).attr("id"))
    }
});

参见 JSFIDDLE

...或在示例中使用alert($(this.element).attr("id").split("_")[1])

答案 1 :(得分:0)

您需要迭代元素:

$(".cerrar_actividad").each(function () {
    var id_actividad = this.id.split("_")[1];            
    $(this).fancybox({
        'scrolling': 'no',
        'titleShow': false,
        'helpers': {
            title: null
        },
        'beforeLoad': function () {
            alert(id_actividad);
        }
    });
});