javascript获取div的内容 精华篇_javascript技巧
程序员文章站
2022-05-20 17:17:23
...
原理:采用innerText 或者 innerHTML
innerText 跟 innerHTML是两个非DOM标准的方法
其区别如图所示:
(图中应该为innerText)
在IE中 innerText 跟 inner HTML 两个方法都能正常运行
但是FF里面的innerText不可用,但是有一个替代方法: textContent
IE: oDiv.innerText = aString; oDiv.innerHTML = aString;
FF: oDiv.textContent = aString; oDiv.innerHTML = aString;
Ajax in action 的作者之一Eric 用正则表达式 实现了 一个兼容方法,比较有趣
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."
Glad 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 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
\/ - 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:
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.
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
复制代码 代码如下:
innerText 跟 innerHTML是两个非DOM标准的方法
其区别如图所示:
(图中应该为innerText)
在IE中 innerText 跟 inner HTML 两个方法都能正常运行
但是FF里面的innerText不可用,但是有一个替代方法: textContent
IE: oDiv.innerText = aString; oDiv.innerHTML = aString;
FF: oDiv.textContent = aString; oDiv.innerHTML = aString;
Ajax in action 的作者之一Eric 用正则表达式 实现了 一个兼容方法,比较有趣
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."
Glad 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 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
\/ - 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:
复制代码 代码如下:
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.
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
推荐阅读
-
javascript 通过children 获取表格内部的标签内容
-
JavaScript实现获取用户单击body中所有A标签内容的方法
-
JavaScript和JQuery获取DIV值的方法示例
-
基于jquery的高性能td和input切换并可修改内容实现代码_javascript技巧
-
通过action传过来的值在option获取进行验证的方法_javascript技巧
-
javascript中onmouse事件在div中失效问题的解决方法_javascript技巧
-
Javascript前端获取扫码枪扫描到的内容方法(区分键盘输入和扫码器输入内容)
-
JS获取并操作iframe中元素的方法_javascript技巧
-
使用js解决由border属性引起的div宽度问题_javascript技巧
-
火狐下input焦点无法重复获取问题的解决方法_javascript技巧