Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between text and textContent properties

Tags:

According to the HTML5 specification and the DOM specification an HTMLAnchorElement has a text and a textContent property. What is the purpose of the text property? As far as I can tell text is just a read-only getter for textContent

like image 547
fynyky Avatar asked Nov 01 '12 06:11

fynyky


People also ask

What is the textContent property?

The textContent property in HTML is used to set or return the text content of the specified node and all its descendants. This property is very similar to nodeValue property but this property returns the text of all child nodes. Syntax: It is used to set the text of node.

What is the difference between textContent and value?

value is for form elements to get the value of the form element. input. textContent is for other elements to get the content of the element.

What is difference between innerText and textContent?

textContent gets the content of all elements, including <script> and <style> elements. In contrast, innerText only shows "human-readable" elements. textContent returns every element in the node. In contrast, innerText is aware of styling and won't return the text of "hidden" elements.

What is the difference between textContent and innerHtml?

textContents is all text contained by an element and all its children that are for formatting purposes only. innerText returns all text contained by an element and all its child elements. innerHtml returns all text, including html tags, that is contained by an element.


1 Answers

The textContent property is "inhertied" from the Node interface of the DOM Core specification. The text property is "inherited" from the HTML5 HTMLAnchorElement interface and is specified as "must return the same value as the textContent IDL attribute".

The two are probably retained to converge different browser behaviour, the text property for script elements is defined slightly differently.

Note that the DOM specification is a general specification for any kind of document (e.g. HTML, XML, SGML, etc.) whereas HTML5 is specifically for HTML that leverages and extends the DOM Core in many respects (some might say it's a "super set" of a few DOM specs plus HTML plus …).

Note that "inherited" does not mean "prototype inheritance", just the more general meaning of inherited.

like image 61
RobG Avatar answered Oct 19 '22 07:10

RobG