This repository was archived by the owner on May 7, 2025. It is now read-only.
Readium shared issue #386, added helper function for node.parentElement#387
Open
einarstubhaug wants to merge 2 commits intoreadium:developfrom
Open
Readium shared issue #386, added helper function for node.parentElement#387einarstubhaug wants to merge 2 commits intoreadium:developfrom
einarstubhaug wants to merge 2 commits intoreadium:developfrom
Conversation
…ntElement because of IE
danielweck
reviewed
May 21, 2017
| * @private | ||
| * Helper function because of #386, node.parentElement returns null for text nodes on IE | ||
| * | ||
| * @returns { node } parentElement |
Member
There was a problem hiding this comment.
Just a note, rangy-core's implementation is:
function parentElement(node) {
var parent = node.parentNode;
return (parent.nodeType == 1) ? parent : null;
}
danielweck
reviewed
May 21, 2017
| * | ||
| * @returns { node } parentElement | ||
| */ | ||
| function getParentElement(node) { |
Member
There was a problem hiding this comment.
Note to self: node.parentElement !== textRange.parentElement() (the latter is a function).
danielweck
reviewed
May 21, 2017
| var node = $node[0]; | ||
| var isTextNode = (node.nodeType === Node.TEXT_NODE); | ||
| var element = isTextNode ? node.parentElement : node; | ||
| var element = isTextNode ? getParentElement(node) : node; |
Member
There was a problem hiding this comment.
There are other uses of node.parentElement, notably plugins/highlights/manager.js getAnnotationMidpoints()
https://github.com/readium/readium-shared-js/blob/develop/plugins/highlights/manager.js#L304
I also note the use of jQuery's $node.parent() in many places in ReadiumJS, notably:
//figure out a better way to get the html parent from an element..
var $html = $element.parent();https://github.com/readium/readium-shared-js/blob/develop/plugins/highlights/manager.js#L322
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Because IE returns null for text nodes
Related issue
#386
Additional information
Added function getParentElement which return node.parentElement if it is defined (chrome/firefox/safari/etc) or searches for the closest element in internet explorer 10 & 11