Javascript to get the essence of div content

Source: Internet
Author: User

Principle: innerText or innerHTML
Copy codeThe Code is as follows:
<Script language = "javascript">
Var stock_code = stockcode. innerText;
Var stock_code = stockcode. innerHTML;
</Script>
<Div id = "stockcode" style = "display: none">
Test
</Div>


InnerText and innerHTML are two non-DOM standard methods.
Difference:
(InnerText in the figure)


In IE, both innerText and inner HTML methods can run normally.

However, innerText in FF is unavailable, but there is an alternative method: textContent

IE: oDiv. innerText = aString; oDiv. innerHTML = aString;
FF: oDiv. textContent = aString; oDiv. innerHTML = aString;

Eric, one of the authors of Ajax in action, uses regular expressions to implement a compatible method, which is interesting.
Hope this helps
A little smirk
One day a secretary is leaving on her lunch break, and she notices her boss standing in front of a shredder with a clueless look on his face. the secretary walks up to him and asks if he needs help.
"Yes! "He says looking and sounding relieved," This is very important ."
Gglad to help, she turns the shredder on and inserts the paper. Then her boss says, "Thanks, I only need one copy ."
Create function like innerText
As you may have figured out innerText is IE only. that means that browsers like Mozilla, Firefox, and Netscape will return undefined. if you do not know what innerText does, it strips out all of the tags so you only see the text.
For example, if a div contains the HTML <span id = 'span1'> Eric </span>, innerHTML wocould return <span id = 'span1'> Eric </span> while innerText will return Eric.
Now to make innerHTML act the same we need to use some regular expressions with the strings replace () method.
Now the basic pattern we need to match is or
Now the regular expression we need to use is/<\/? [^>] +>/Gi
If you do not know regular expressions here is a quick explanation:
/-Starts the regular expression
<-Match the less than sign
\/-Escape the character/so it can be matched (Without the \ you wocould be saying it is the end of the reg exp .)
? -Match the/character 0 or 1 times
[^>]-Match any character but greater than sign
+-Match [^>] one or more times
>-Match greater than sign
/-End the regular expression
Gi-Tells regular expression to match global and ignore the case
So now the function to replace the text wowould look like:
Copy codeThe Code is as follows:
<Script type = "text/javascript">
Var regExp =/<\/? [^>] +>/Gi;
Function ReplaceTags (xStr ){
XStr = xStr. replace (regExp ,"");
Return xStr;
}
</Script>

All you need to do is pass it a string and it returns the string stripped of the tags.
An example is shown below to grab the text from a div without the tags.
<Html> <pead> </pead> <body> Test <u> <B> Test </B> </u> Test Wow! </Body> </ptml>
[Ctrl + A select all Note: If you need to introduce external Js, You need to refresh it to execute]

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.