While loop going forever
I have a while that keeps running even if the condition is met which is el.tagName !== 'H2'
I do not know why it's still running after it finds the closest Header which in this case is H2. You can view the codepn here 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;
}
javascript algorithm while-loop
add a comment |
I have a while that keeps running even if the condition is met which is el.tagName !== 'H2'
I do not know why it's still running after it finds the closest Header which in this case is H2. You can view the codepn here 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;
}
javascript algorithm while-loop
4
In your codepen, you are never callinggrabClosestHeader()
. You are callingclosestHeader()
(which doesn't exist) though. Typo? Changing it to your function call tograbClosestHeader()
does log all the elements until the<html>
after which it crashes because it has no parents anymore. No sign of an infinite loop anywhere.
– Ivar
Nov 24 '18 at 1:04
add a comment |
I have a while that keeps running even if the condition is met which is el.tagName !== 'H2'
I do not know why it's still running after it finds the closest Header which in this case is H2. You can view the codepn here 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;
}
javascript algorithm while-loop
I have a while that keeps running even if the condition is met which is el.tagName !== 'H2'
I do not know why it's still running after it finds the closest Header which in this case is H2. You can view the codepn here 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;
}
javascript algorithm while-loop
javascript algorithm while-loop
asked Nov 24 '18 at 0:47
Grzes SlaniaGrzes Slania
185319
185319
4
In your codepen, you are never callinggrabClosestHeader()
. You are callingclosestHeader()
(which doesn't exist) though. Typo? Changing it to your function call tograbClosestHeader()
does log all the elements until the<html>
after which it crashes because it has no parents anymore. No sign of an infinite loop anywhere.
– Ivar
Nov 24 '18 at 1:04
add a comment |
4
In your codepen, you are never callinggrabClosestHeader()
. You are callingclosestHeader()
(which doesn't exist) though. Typo? Changing it to your function call tograbClosestHeader()
does log all the elements until the<html>
after which it crashes because it has no parents anymore. No sign of an infinite loop anywhere.
– Ivar
Nov 24 '18 at 1:04
4
4
In your codepen, you are never calling
grabClosestHeader()
. You are calling closestHeader()
(which doesn't exist) though. Typo? Changing it to your function call to grabClosestHeader()
does log all the elements until the <html>
after which it crashes because it has no parents anymore. No sign of an infinite loop anywhere.– Ivar
Nov 24 '18 at 1:04
In your codepen, you are never calling
grabClosestHeader()
. You are calling closestHeader()
(which doesn't exist) though. Typo? Changing it to your function call to grabClosestHeader()
does log all the elements until the <html>
after which it crashes because it has no parents anymore. No sign of an infinite loop anywhere.– Ivar
Nov 24 '18 at 1:04
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53454262%2fwhile-loop-going-forever%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53454262%2fwhile-loop-going-forever%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
4
In your codepen, you are never calling
grabClosestHeader()
. You are callingclosestHeader()
(which doesn't exist) though. Typo? Changing it to your function call tograbClosestHeader()
does log all the elements until the<html>
after which it crashes because it has no parents anymore. No sign of an infinite loop anywhere.– Ivar
Nov 24 '18 at 1:04