就是求元素在父级当中的位置:
思路:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <ul id="a"> <li id="foo">foo</li> <li id="bar">bar</li> <li id="baz">baz</li> </ul> </body> </html> <script type="text/javascript"> function a(obj) { var b = obj.parentNode.children; var i=0; for(i=0;i<b.length;i++){ if(b[i] == obj){ return i; } } } window.onload = function () { var li = document.getElementsByTagName("li") var i=0; for(i=0;i<li.length;i++){ li[i].onclick = function () { alert(a(this)); } } } </script>
封装:
//index,求元素在父级当中的位置 function getIndex(obj) { var aBrother = obj.parentNode.children; var i=0; for(i=0;i<aBrother.length;i++){ if(aBrother[i] == obj){ return i; } } } VQuery.prototype.index = function () { return getIndex(this.elements[0]); };
详细可查VQuery的封装。