这个让我难过。
<div id="container">
<div id="store"></div>
<div id="contact"></div>
</div>
我正在寻找联系div的位置作为“容器”的孩子。所以,为了更清楚,如果我正在寻找'联系人的位置,我需要jquery返回数字1。
非常感谢任何帮助! 谢谢!
答案 0 :(得分:2)
您可以尝试以下方式:
$('#contact').prevAll('div').length + 1
就像获得前兄弟姐妹的长度一样。如果你想要一个从零开始的索引,请省略+1。
答案 1 :(得分:0)
var el = document.getElementById("contact");
var i = 0;
while (el.previousSibling != null)
{
el = el.previousSibling;
i = i + 1;
}
// i is the index of the item.
答案 2 :(得分:0)
也许找到父级并遍历子项,直到找到节点,沿途计数。
function findPos(id) {
var child = $('#' + id), children = child.parent().children();
for (var i = 0; i < children.length; ++i)
if (children.get(i) == child) return i;
throw "makes no sense";
}
当然,您可以将其转换为jQuery方法。
答案 3 :(得分:0)
这样的事情应该有效:
var ids = $("#container").children().map(function(n, i) {
return n.id;
});
var requiredIndex = jQuery.inArray("contact", ids);