获取jquery插件中单击标记的索引值

时间:2013-06-28 09:05:15

标签: javascript jquery jquery-plugins

我为jQuery制作了一个插件,我只需点击标签索引就已经。

我的HTML代码:

<body>
    <a href="../img/ib1.jpg" rel="group"class="asd">
        <img src="../img/is1.jpg"/>
    </a>
    <a href="../img/ib2.jpg" rel="group"class="asd">
        <img src="../img/is2.jpg"/>
    </a>
    <a href="../img/ib3.jpg" rel="group"class="asd">
        <img src="../img/is3.jpg"/>
    </a>
    <a href="../img/ib4.jpg" rel="group"class="asd">
        <img src="../img/is4.jpg"/>
    </a>    
</body>

我的插件代码:

(function( $ ) {
    $.fn.nss = function( ) {
        var elems = this
        return elems.each(function() {
            var thisindx = elems.index(this);
            console.log(thisindx);
        });
    };
}( jQuery ))

console.log(thisindx) print 0,1,2,3

但我只点击了标签索引值,而不是所有标签的值

我的javascript代码:

(function(){
    $('a[rel="group"]').click(function(){
        $('a[rel="group"]').nss();
    })
});

1 个答案:

答案 0 :(得分:0)

如果你真的想构建一个插件,你应该将你的click事件封装在插件中:

(function( $ ) {
    $.fn.nss = function( ) {
        var elems = this;
        return elems.on('click', function(e) {
            e.preventDefault();
            var thisindx = elems.index(this);
            console.log(thisindx);
        });
    };
}( jQuery ))

而不仅仅是将它绑定在你的元素上:

$(function(){
    $('a[rel="group"]').nss();
});