jQuery set innerText(), innerHTML(), textContent()
Key Takeaways
jQuery can be used in conjunction with plain ole JavaScript to change the text of a html element and set it to contain new content which could be text, images, code or anything you want. Here we will look in detail at the following JS functions and show you how, when and where you might use them.
This post covers the following jQuery functions: innerText(), innerHTML(), textContent()
jQuery innerText() function
Syntax: document.elementID.innerText = value
Functionality: JavaScript read and write property that specifies the text between the element opening and closing tags.
Behaviour: Includes line breaks.
Browser Compatiablity: innerText() works in all browsers that we have tested on.
Basic Example:
Sample Text inside a p element InnerTextJavaScript innerHTML() function
Syntax:
document.getElementById(“elementID”).innerHTML = value
document.all.elementID.innerHTML = value // IE only
Functionality: Native JavaScript function to change the html within a page element.
Behaviour: It strips out line breaks.
Browser Compatiablity: innerHTML is supported in all browsers.
Basic Example:
Sample Text inside a p element InnerHTML
Advanced Example:
Regular Expression replacing
tags by n makes sure that it works like innerText, and the final replace() is a regular expression that removes all HTML tags.
jQuery textContent() Function
Syntax:
var text = element . textContent ; element . textContent = "i love jQuery (4u :P )" ;Functionality: jQuery FF Function to change the text of a page element.
Behaviour: It strips out line breaks.
Browser Compatiablity: Firefox has its own property called textContent which is supported by Chrome and Opera but IE does not support it!
Basic Example(s):
Given the following HTML fragment:
The linebreak problem
innerText() shows “para1? and “para2? with a line break in-between but textcontent() does not:
//IE/innerText():
para1
para2
//FF/textcontent():
para1para2
HTML/JS Code to test all of them out and pick one!
function GetContent ( ) { var elem = document . getElementById ( "myDiv" ) ; var message = "" ; if ( elem . outerHTML !== undefined ) { message += "outer HTML : " + elem . outerHTML ; if ( elem . outerText !== undefined ) { message += "nouter text : " + elem . outerText ; message += "ninner HTML : " + elem . innerHTML ; if ( elem . textContent === undefined ) { message += "ninner text : " + elem . innerText ; else { message += "ninner text : " + elem . textContent ; alert ( message ) ; jQuery4u - This is a division element that contains some red text . jQuery4u - Get the contents of the division element !Other jQuery functions that can be used to change page elements: innertext.replace, innerHTML, innerText, textContent, html(), text(), div.innerHTML.replace, document.body.innerText, $.fn.innerText, div:contains, document.getElementById(id).innerText.