You want sibling nodes otherwise you will have to traverse back to the root node sometimes to find a sibling.
You do need parent, check this: https://developer.mozilla.org/en-US/docs/Web/API/Node/parent...
> You want sibling nodes otherwise you will have to traverse back to the root node sometimes to find a sibling.
The only need for this is in Node.nextSibling implementation: https://developer.mozilla.org/en-US/docs/Web/API/Node/nextSi...
Where vector<>::find is pretty sufficient.
But in reality (at least in my Sciter) node stores its index in parent's m_children so it is O(1) operation.
and ~ combinator and :nth-child(n) selector for that matter too.
You do need parent, check this: https://developer.mozilla.org/en-US/docs/Web/API/Node/parent...
> You want sibling nodes otherwise you will have to traverse back to the root node sometimes to find a sibling.
The only need for this is in Node.nextSibling implementation: https://developer.mozilla.org/en-US/docs/Web/API/Node/nextSi...
Where vector<>::find is pretty sufficient.
But in reality (at least in my Sciter) node stores its index in parent's m_children so it is O(1) operation.