1/25/2007

innerText doesn't work for Mozilla, Firefox, etc. Just for IE

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 Eric, innerHTML would return Eric 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 or 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 would 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 would look like:
http://radio.javaranch.com/pascarello/2005/01/14/1105721395000.html

No comments: