我想做的就是返回悬停的i的索引,ul有一个类.around
这看起来应该可行
$('.around li').on("mouseover", function(event){
var myindex = $('.around').index(this);
console.log(myindex);
})
答案 0 :(得分:2)
这个怎么样:
$('.around li').on("mouseover", function(event){
var myindex = $(this).index();
console.log(myindex);
})
答案 1 :(得分:1)
也许您正在尝试这样做:
var li = $('.around li');
li.on("mouseover", function(){
var myindex = li.index(this);
console.log(myindex);
})
答案 2 :(得分:0)
你可以这样写:
var listItem = document.getElementById('bar');
alert('Index: ' + $('li').index(listItem));
HTH
答案 3 :(得分: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>
答案 4 :(得分:0)
关于性能,公认的答案是错误的。更好地缓存查询并使用委托,这样一来,在ul上仅设置一个处理程序,然后将每个事件委托给鼠标所在的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);
})