添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
SitePoint Premium
Stay Relevant and Grow Your Career in Tech
  • Premium Results
  • Publish articles on SitePoint
  • Daily curated jobs
  • Learning Paths
  • Discounts to dev tools

7 Day Free Trial. Cancel Anytime.

Key Takeaways

  • jQuery, in combination with JavaScript, can modify the text of an HTML element, allowing it to contain new content such as text, images, code, etc. The post covers three jQuery functions: innerText(), innerHTML(), and textContent().
  • The innerText() function reads and writes text between the opening and closing tags of an element, including line breaks. The innerHTML() function changes the HTML within a page element, but it strips out line breaks. The textContent() function changes the text of a page element and also strips out line breaks.
  • There is a linebreak problem with the textContent() function: it does not show a line break between two paragraphs, unlike the innerText() function. This function is supported by Firefox, Chrome, and Opera but not by Internet Explorer.
  • innerText and innerHTML in jQuery work differently despite both being used to manipulate the content of an HTML element. innerHTML gets or sets the HTML content of an element, parsing the HTML string and rendering it as HTML. On the other hand, innerText gets or sets the text content of an element, displaying the HTML tags as plain text.
  • 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 InnerText

    JavaScript 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.

    var message = div . innerHTML . replace ( / <br> / gi , "n" ) . replace ( / ( < ( [ ^ > ] + ) > ) / gi , "" )

    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:

    This is some text
    // Get the text content: var text = document . getElementById ( "divA" ) . textContent ; // Set the text content: document . getElementById ( "divA" ) . textContent = "This is some text" ;

    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.

    Frequently Asked Questions (FAQs) about jQuery Set InnerText