猿问

$(this)的index()

我想获取当我点击某个<span>时的索引值;代码是这样写的:

 $('.diot span').click(function(){
    i = $(this).index(this);
  })

我一直理解的是,在这里写的$(this)指的是$('.diot span')这个集合,因此我需要给index()一个this参数,用来表明我点击的在整个集合中的索引值,这样理解对么

还是应该这样写:

i = $(this).index();

哪种对呢

这个我是在学人家的代码,原来是这样写的:

$("#banner li").click(function() {    var i = $(this).text() -1;
 }

html结构是这样:

<div id="banner">    
    <ul>
        <li class="on">1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
    </ul></div>

我尝试把var i = $(this).text() -1;换成i = $(this).index();,结果除了第一张图片能显示,之后的三张就全部显示不了,换成 i = $(this).index(this);则会永远都显示第一张

我理解的是var i = $(this).text() -1;获取的是索引值,所以也可以用index()呀。

但是为什么不行呢


紫衣仙女
浏览 751回答 1
1回答

眼眸繁星

i = $(this).index();i就是点击到的元素在这些span中的位置。index(this)没有这个鬼。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答