问题
Possible Duplicate:
How to retrieve the text of a DOM Text node?
In my experiments to handle DOM mutation observers I've noticed that when the target
is a text node there are four fields all containing the new text of the node.
data
nodeValue
textContent
wholeText
Is there a "best practice" for which of these fields I should use?
Are some just for compatibility with other browsers or older DOM standards? Does it make a difference whether I'm reading vs modifying the text? If one is best what is the purpose of the others?
回答1:
Of all these I'd choose data
: it is defined for the nodes implementing CharacterData interface (Text and Comment ones) only. Trying to access this property for the others gives undefined
.
nodeValue is essentially the same as data
for text nodes, but is actually defined for attribute and comment nodes as well. And I usually want my programs to fail early. )
textContent is, for me, something completely different, as it represents the text content of a node and its descendants. This, along with wholeText, perhaps should be used more to collect texts from more complex structures than a single text node.
Said all that, textContent
and wholeText
were defined in DOM Level 3 (= more modern).
来源:https://stackoverflow.com/questions/12286975/when-working-with-text-nodes-should-i-use-the-data-nodevalue-textcontent