我需要使用Javascript选择Javascript DOM文本节点的解决方案
I need the solution to a Javascript DOM textnode selection using javascript?
如何使用javascript获取其中的所有文本节点?我试了很多东西,但都不管用?
<td bgcolor="#f2f2f2" id='product-1'>
<img src="images/icon.png" width="37" height="30" align="left" style="margin: 8px 10px 25px 0">
<h4 style="font-size:12px; font-weight:bold">Heading</h4>
<p>TEXT</p>
</td>
此示例返回节点及其子代包含的文本节点的数组。它跳过仅包含空白的节点
function deepText(node){
var A= [], tem;
if(node){
node= node.firstChild;
while(node!= null){
if(node.nodeType== 3){
if(/'S/.test(node.data)) A[A.length]= node;
}
else A= A.concat(deepText(node));
node= node.nextSibling;
}
}
return A;
}
//test
var text= [], nodes= deepText(document.getElementById('product-1'));
for(var i= 0, L= nodes.length; i<L; i++){
// do whatever you want to the node
var pa= nodes[i].parentNode;
if(pa.nodeName== 'H4') pa.style.color= 'blue';
text.push(nodes[i].data);
}
alert(text.join(' '))
如果你只想要文本,你可以做:
var el = document.getElementById('product-1');
alert(el.textContent || el.innerText);
以上内容可以很容易地转换为通用的"getText"函数。
如果你想获得实际的文本节点,你必须查看每个DOM元素并获得它的子节点,然后遍历每个子节点,看看它是元素(节点类型1)还是文本(节点类型3)。
相关文章:
- 从单独的html文件预览Javascript文本
- Javascript文本框验证不起作用
- 使用TreeWalker检索非Javascript文本节点
- Javascript文本框-查找最低的输入和填充
- javascript文本验证不起作用.警报消息没有't显示
- JavaScript 文本节点属性
- 简单的Javascript文本编辑器或一组函数
- 将光标放在 javascript 文本框的末尾
- JavaScript 文本区域值,带有数据库中的新行
- 从动态创建的javascript文本框中获取文本输入
- 为什么这个使用谷歌URL的Javascript文本到语音不起作用
- 如何在Javascript文本区域中捕获事件以记录所有键入的文本
- JavaScript文本转换
- 我正在尝试将javascript文本框的输入保存回服务器.我想从保存的弹出文本框中获得输入,以重命名文件夹
- JavaScript文本游戏积分系统
- 基于编辑距离的javascript文本相似度百分比算法
- 如何在React.NET中导出JavaScript文本
- 用于javascript文本输入的简单-+按钮
- asp.net c#中的javascript文本框验证
- 从javascript文本模板访问HTML类