我希望有一个函数告诉我元素相对于其他元素的位置。
function Funk(x) {
var y = //how many elements are infront of it in its parent.
console.log(y)
}
<ul>
<li onclick='Funk(this)'>1</li>
<li onclick='Funk(this)'>2</li>
<li onclick='Funk(this)'>3</li>
<li onclick='Funk(this)'>4</li>
</ul>
在这个例子中,我希望输出是我点击的任何数字。因此,如果我点击第三个元素,它会输出 3 。
答案 0 :(得分:1)
您可以使用parentNode
和children
上下移动DOM。
function Funk(x) {
var y = 0;
var children = x.parentNode.children;
while (children[y] !== x) y++;
y++;
console.log(y)
}
&#13;
<ul>
<li onclick='Funk(this)'>1</li>
<li onclick='Funk(this)'>2</li>
<li onclick='Funk(this)'>3</li>
<li onclick='Funk(this)'>4</li>
</ul>
&#13;