即使满足el.tagName !== 'H2'
的条件,我仍有一段时间会继续运行
我不知道为什么在找到最接近的Header(在这种情况下为H2)后它仍在运行。您可以在https://codepen.io/theMugician/pen/wQjJjj
function grabClosestHeader (el) {
var parent = el.parentNode;
el = parent.firstChild;
while (el.tagName !== 'H2') {
el = el.nextSibling;
console.log(el);
if( el != null && el.tagName === 'H2') {
console.log('This is the H2 Tag');
}
if (el === null) {
console.log('This is NULL');
parent = parent.parentNode;
el = parent.firstChild;
}
}
// Then return the matched element
console.log(el.tagName);
return el;
}