すべてリスト要素を含む一連のdivがあります。リスト内のアイテムのインデックスをdiv内でローカルに返そうとしています。しかし、それは他のdivのリスト項目をカウントするので、それを避けたいと思います。
したがって、現在、返されるインデックスは次のとおりです(カンマはdivを分離します):
0-5、6-7、8-17
私はそれを返したいです:
0-5、0-1、0-9
したがって、インデックス付けを各divに相対的なものにしたいと思います。
JS:
var preview = "<div class=\"preview\"><p>Test.</p></div>";
$(".category_list.grid > ul li").click(function () {
// calculate how many elements fit per line
var index = $(".category_list.grid li").index(this);
alert(index);
});
HTML:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
<div class="category_list grid">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div class="category_list grid">
<ul>
<li></li>
<li></li>
</ul>
</div>
<div class="category_list grid">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
CSS:
*{padding:0;margin:0}
.preview {clear:both;}
ul {clear:both;}
li {
width: 5em;
height: 3em;
background: black;
display: inline-block;
text-align: left;
margin: 1em;
color: white;
}
.category_list {margin-bottom:2em; clear:both;}