- From: Wes <notifications@github.com>
- Date: Fri, 30 Sep 2016 19:13:37 -0700
- To: whatwg/dom <dom@noreply.github.com>
- Message-ID: <whatwg/dom/issues/335@github.com>
Dropping here a couple of things I would like to have in DOM.
While I like that contiguous text nodes can be used as separated entities, e.g. for setting their contents without touching their surrounding text siblings, I think something more could be done for when creating adjacent text nodes is not intentional.
First of all, the problem with `normalize()`: it's impossible to normalize a sequence of text nodes only without touching others in the same parent element:
```
running div.normalize(); will merge both sequences
<div>
first text node <- I only want
second text node <- these two merged
<span></span>
first text node <- While these must stay
second text node <- two distinct text nodes
</div>
```
## Suggested additions to Text:
### `Text.prototype.getFirstNearbyText = function(skipComments){};`
Selects the first Text node in a sequence of contiguous Text nodes.
`this` is any of the Text nodes in the sequence.
`skipComments = true` would make the algorithm ignore `<!-- comments -->` between text nodes.
### `Text.prototype.getLastNearbyText = function(skipComments){};`
Like previous, but selects the last Text node in the contiguous Text nodes sequence.
### `Text.prototype.getNearbyTextString = function(skipComments){};`
Same purpose of `textNode.wholeText ` except that it allows to jump around comment nodes if arg0 is true. `textNode.wholeText === textNode.getNearbyTextString(false)`. Returns a `DOMString`.
### `Text.prototype.mergeNearbyText = function(eatComments){};`
Replaces this Text node's nearby Text siblings with a new single Text node containing said siblings' concatenation of DOMStrings.
Thoughts?
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/issues/335
Received on Saturday, 1 October 2016 02:14:06 UTC