好的,所以我需要能够根据页面和页面之间的相互匹配来获得元素的n(从零开始)位置。元素ID ......
如果我举一个例子(假设当前页面ID是488
),可能会更容易;
<ul id="work-grid">
<li id="item-486" class="work-item"><!--/content--></li>
<li id="item-487" class="work-item"><!--/content--></li>
<li id="item-488" class="work-item"><!--/content--></li>
<li id="item-489" class="work-item"><!--/content--></li>
<li id="item-490" class="work-item"><!--/content--></li>
</ul>
正如您所看到的,列表项与匹配的数字ID 488
是列表中的第三个(因此n值为2)。
问题是,这个网格出现在多个页面上(具有不同的ID)并且列表是动态填充的,所以我永远不知道匹配元素的位置。有没有办法可以使用jQuery获取它并将其添加到以下代码段(将2
替换为正确的n位置)
$('#work-grid').trigger("colio", ["expand", 2]);
这可能几乎没有任何意义,所以如果需要澄清,请告诉我。
答案 0 :(得分:1)
我认为index()就是你想要的:
var index = $('#item-488').index();
$('#work-grid').trigger("colio", ["expand", index]);
答案 1 :(得分:1)
假设您的元素在页面上出现一次,您可以执行以下操作:
$('#item-488').index();
找出元素的索引。在这里阅读index():http://api.jquery.com/index/适用于这种情况的位是:
如果没有参数传递给.index()方法,则返回值是一个整数,表示jQuery对象中第一个元素相对于其兄弟元素的位置。
以下是一个示例:http://jsfiddle.net/bnF6h/
答案 2 :(得分:1)
var page = 488;
var a = $( "li[id$='"+ page +"']");
您可以使用它根据页面ID动态选择项目ID。
应用它:
var page = 488;
var a = $( "li[id$='"+ page +"']").index();
$('#work-grid').trigger("colio", ["expand", a]);
答案 3 :(得分:0)
你的意思是jQuery的index()方法? http://api.jquery.com/index/
If no argument is passed to the .index() method, the return value is an integer indicating the position of the first element within the jQuery object relative to its sibling elements.