所以我有一个Javascript函数应该产生项目的第n个孩子。以下是该功能的代码。
function findNthChild(element) {
nthchild = 1;
console.log(element);
if (element.prev().hasClass('.point')) {
while (element.prev().hasClass('.point')) {
nthchild++;
element == element.prev()
}
return nthchild;
}
else {
console.log('lmao');
return 1;
}
}
答案 0 :(得分:0)
从您的元素中,您想要的算法可能看起来像这样
elm
elm
未定义或 null 返回null
elm
有 interestingClass 类,请n
1
n
大于0
,请返回第1步elm
香草,
function nthSiblingElementByClass(sibling, n, cls) {
if (sibling) do {
if (sibling.classList.contains(cls))
if (--n < 0) return sibling;
} while (sibling && (sibling = sibling.nextElementSibling));
return null;
}
用法,例如在这个页面上
var elm = document.querySelector('.kwd');
nthSiblingElementByClass(elm, 5, 'pln'); // <span class="pln">console</span>