在jQuery插件中获取this.index(this)

时间:2013-06-20 07:04:04

标签: javascript jquery jquery-plugins

如何点击我获得标签索引

  1. 我的Html代码

    <html>
            <head>
            <title>nss plugin</title>
            <link rel="stylesheet" type="text/css" href="style.css">
             <script type="text/javascript" src="../js/jquery.js"></script>
             <script type="text/javascript" src="nss.js"></script>
             <script type="text/javascript" src="script.js"></script>
            </head>
            <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>
    </html>
    
  2. 2。我的jquery插件代码。

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

    3.my javascript code

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

    为什么thisindx值等于0

    一个人如何获得实际价值

2 个答案:

答案 0 :(得分:1)

不确定为什么需要插件,你可以这样做:

$(function(){
    $('a[rel="group"]').on('click', function(){
        $('a[rel="group"]').index(this);
    });
});

获取包含该组的当前元素索引。

修改

在插件内部获得集合,并使用return this.each进行迭代,因此使用每个单独的迭代和集合,您可以在选择器中的元素集中获取元素索引,如下所示:

$.fn.nss = function( ) {
    var elems = this

    return elems.each(function() {
        // all plugin code for multiple elements should normally go in a loop
        // like this one to perform the same actions on every element

        var thisindx = elems.index(this);
        console.log(thisindx);
    });
};

答案 1 :(得分:0)

试试这个

var thisindx = this.index();

或者从点击事件中,您可以直接获取索引值,如

$(function(){
      $('a[rel="group"]').on('click',function(){
             $('a[rel="group"]').index();
             //Better use like
             $(this).index(); //or this.index();
      });
});