1

私がやりたいのは、ホバーされたiのインデックスを返すことだけです。ulにはクラスがあります。

これはうまくいくようです

$('.around li').on("mouseover", function(event){
var myindex =  $('.around').index(this);
console.log(myindex);
})
4

5 に答える 5

3

これはどう:

$('.around li').on("mouseover", function(event){
var myindex =  $(this).index();
console.log(myindex);
})
于 2012-07-02T12:53:51.673 に答える
1

多分あなたはこれをやろうとしている:

var li = $('.around li');
li.on("mouseover", function(){
   var myindex = li.index(this);
   console.log(myindex);
})

フィドルの例:http://jsfiddle.net/MKExb/

于 2012-07-02T12:54:08.570 に答える
0

あなたはこのようなものを書くことができます:

var listItem = document.getElementById('bar');
alert('Index: ' + $('li').index(listItem));

HTH

于 2012-07-02T12:54:46.210 に答える
0

あなたはこれを使うことができます

<script type="text/javascript">

      $(document).ready(function () {
            $('.around li').each(function () {
                $(this).bind('mouseover', null, function () {
                    var index = $('.around li').index(this);
                    console.log(index);
                });

            }, function () { });

        });

</script>

またははるかにきれいなもの

 <script type="text/javascript">
    $(document).ready(function () {
        $('.around li').hover(function () {
            var index = $('.around li').index(this);
            console.log(index);
        }, function () { });

    }); 
    </script>
于 2012-07-02T13:14:01.423 に答える
0

受け入れられた答えは、パフォーマンスに関しては悪いです。クエリをキャッシュし、デリゲートを使用する方がはるかに優れています。これにより、ulに1つのハンドラーのみが設定され、すべてのイベントがマウスのあるliに委任されます。私は元のjsfiddleを変更し、外観を持ち、魅力のように機能し、コードはさらに長くはありません。

http://jsfiddle.net/zhkjLoet/1/

var ul = $('.around'); // cache query
ul.on("mouseover","li", function(event){ //delegate events to li child
   var myindex = $(this).index();
   console.log(myindex);
})
于 2019-05-04T03:22:01.983 に答える