nikos
-
Posts
5 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Posts posted by nikos
-
-
I mean that if we have this code below, and oNode points to <p> element
Using fnGetSibling it will return a reference to <h1>.
What previousSibling would do in this case?
<html> <head> <title>DOM Tutorial</title> </head> <body> <h1>DOM Lesson one</h1> <p>Hello world!</p> </body> </html>
- 1
-
I have read these tutorials, I also have tried myself their examples which were very helpful.
I just read the DOM Navigation tutorial and I think it will return the previous brother of oNode and not the Parent, which is called previousSibling if I'm not mistaken.
If this is correct, if oNode is number 1 child as you said in a previous post (like i imagined it in the picture), this means that there will be an error, right?
- 1
-
In the piece of code you provided oNode is not defined, so this code doesn't actually do anything.
Assuming that oNode is actually a reference to a DOM node, I'll break it down for you:
// Get a reference to the parent of the node var oParent=oNode.parentElement; // Find out how many nodes are children of that parent var iLength=oParent.children.length; // The variable i starts at zero and increases by one each time the code loops // The loop ends when i is equal to the number of children in the parent of oNode for(var i=0;i < iLength;i++){ // If the node with index "i" is oNode then run the code between the braces if(oParent.children[i]==oNode) { // Return the element node with an index of one less than the oNode's index return oParent.children[i - 1]; // Exit the loop break; } }
The function could be further improved if you could actually pass oNode as a parameter to the function, and it doesn't account for oNode being the first child in its parent.
Hello Ingolme and thank you for your answer, It helped me alot understanding this code.
oNode should be a reference in DOM tree as you said.
I have imagined it like this . So in return statement do we actually get a reference to Parent? What do you mean and it doesn't account for oNode being the first child in its parent?
- 1
-
Hello,
I found a function called fnGetSibling
on
https://msdn.microsoft.com/en-us/library/ms533043(v=vs.85).aspx#navigate
and I was hoping to understand what it does return and why.
var oPrevious = fnGetSibling(); function fnGetSibling(){ var oParent=oNode.parentElement; var iLength=oParent.children.length; for(var i=0;i < iLength;i++){ if(oParent.children[i]==oNode){ return oParent.children[i - 1]; break; } } }
I have three possible options:
1. Finds and returns a reference to all childs of a node of DOM Tree. 2. Finds and returns a reference to one of the children of a node of DOM Tree. 3. Finds and returns a reference to a father of a node of DOM Tree.
You are not solving any homework (it's summer), it's just from a quiz.
- 1
Question about a function (fnGetSibling)
in JavaScript
Posted
Thank you very much Ingolme, you helped me alot. If it is necessary this thread can be closed.