簡體   English   中英

jQuery .index()總是返回1

[英]jQuery .index() always returning 1

我正在嘗試根據單擊的元素的索引來制作代碼塊。 問題是,無論我單擊哪個元素,它都會彈出1。

 $(document).ready(function() { $('.container .product a').click(function() { var a = $(this).index(); alert(a); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container"> <div class="product"> <div class="product-body"> <img src="https://placehold.it/50x50" /> <a href="#">Buy Me!</a> </div> </div> <div class="product"> <div class="product-body"> <img src="https://placehold.it/50x50" /> <a href="#">Buy Me Also!</a> </div> </div> <div class="product"> <div class="product-body"> <img src="https://placehold.it/50x50" /> <a href="#">M Three!</a> </div> </div> </div> 

這是因為調用$(this).index()將返回的索引this基礎上的兄弟姐妹,你的情況a總是其父的第二個孩子

由於您想要基於集合.container .product aa的索引,因此可以使用.index()的以下變體之一

 $(document).ready(function() { var $as = $('.container .product a').click(function() { var a = $as.index(this); //or $(this).index('.container .product a'); alert(a); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container"> <div class="product"> <div class="product-body"> <img src="https://placehold.it/50x50" /> <a href="#">Buy Me!</a> </div> </div> <div class="product"> <div class="product-body"> <img src="https://placehold.it/50x50" /> <a href="#">Buy Me Also!</a> </div> </div> <div class="product"> <div class="product-body"> <img src="https://placehold.it/50x50" /> <a href="#">M Three!</a> </div> </div> </div> 

有關index()方法的更多詳細信息,請查看Jquery-index

 $(document).ready(function() { $('.container .product a').click(function() { var a = $(".container .product a").index( this ); alert(a); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container"> <div class="product"> <div class="product-body"> <img src="https://placehold.it/50x50" /> <a href="#">Buy Me!</a> </div> </div> <div class="product"> <div class="product-body"> <img src="https://placehold.it/50x50" /> <a href="#">Buy Me Also!</a> </div> </div> <div class="product"> <div class="product-body"> <img src="https://placehold.it/50x50" /> <a href="#">M Three!</a> </div> </div> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM