0

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();
    })
});
4

1 に答える 1

0

本当にプラグインを作成したい場合は、クリック イベントをプラグイン内にカプセル化する必要があります。

(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();
});
于 2013-06-28T10:08:26.047 に答える