javascript - $(this)的index()
PHPz
PHPz 2017-04-11 12:19:32
0
9
201

我想获取当我点击某个<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结构是这样:

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

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

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

但是为什么不行呢

PHPz
PHPz

学习是最好的投资!

모든 응답(9)
阿神

楼主,我觉得你应该是初学者吧

$('.diot span').click(function(){})

这段代码的意思是找到.diot元素的所有span子元素,给每个子元素添加click事件

所以说function中的$(this)对应的是你点击的那个span,而不是$('.diot span')。

至于你为什么要取得索引,我不是很清楚,盗用上面的回答

$('.diot span').click(function(){

    $('.diot span').index(this);  //当前索引
    
    $(this).index('.diot span');  //当前索引

})
Peter_Zhu

Return Values(返回值)

如果不传递任何参数给 .index() 方法,则返回值就是 jQuery 对象中第一个元素相对于它同辈元素的位置。

如果在一组元素上调用 .index() ,并且参数是一个 DOM 元素或 jQuery 对象, .index() 返回值就是传入的元素相对于原先集合的位置。

如果参数是一个选择器, .index() 返回值就是原先元素相对于选择器匹配元素的位置。如果找不到匹配的元素,则 .index() 返回 -1

摘自文档:http://www.jquery123.com/index/

左手右手慢动作

按你目前贴出来的代码看:
var i = $(this).text() -1;var i = $(this).index();是等价的;
i = $(this).index(this);这样写是不对的,返回的永远是0,可以这样写:i = $("#banner li").index(this);,不过完全没必要。

出错的地方应该不是这里,你可以看一下其他地方,或者贴完整的代码。

有一点可能导致出错的是:你的i如果是局部变量,不要去掉前面的var

伊谢尔伦

指索引,是指同级元素。

阿神

你可以试一下这样写看看,用on绑定事件指定事件出发的元素!这段代码的意思是为banner下的li绑定事件,也会获取它的集合`$("#banner").on('click','li',function() {

var i = $(this).index();

}`

阿神

html中的li的值 分别是1,2,3,4
js中取$(this).text(),就是取li的值,再-1等于几 就说明当前处于哪个li上
跟你说的$(this).index一点关系都没有

Ty80

如果只是获取索引那你用i = $(this).index();获取到的i就是索引值

黄舟

i = $(this).index();i就是点击到的元素在这些span中的位置。index(this)没有这个鬼。

小葫芦
 $('.diot span').click(function(){

    $('.diot span').index(this);  //当前索引
    
    $(this).index('.diot span');  //当前索引
    
  })
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!