如何获取元素的内容
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 06:14:07
如何获取元素的内容
如何获取元素的内容
如何获取元素的内容
1.获取元素内的文本
例如:有标签<strong,取<strong的文本内容:
非mozilla浏览器:strongelem.innertext
其它浏览器:strongelem.firstchild.nodevalue;
还有一个通用的函数:
function text(e){var t="";e = e.childnodes || e;
for(var j=0;j<e.length;j++){
t += e[j].nodetype != 1 e[j].nodevalue :text(e[j].childnodes);}return t;}
2.获取元素内的html
所有现代浏览器,都实现了html dom 元素的一个额外属性:innerhtml.使用这个属性就可以从一个元素中提取
所有的html和文本了.如果元素内,只有文本,可以替换上面的方法;如果含有子元素,则提取所有子元素和文本.
3.操作元素特性
获取和设置特性的值,常用的可以使用getattribute和setattribute.HTML DOM文档还有作为快速特性
获取器(getter)/设置器(setter)的额外属性集合,比如:element.id="main",element.value="123",
作者有个更通用的方法,来获取和设置,写得很好,可以看看81页.
下面是总结的一些在DOM中常用的方法:/**根据id获得元素*/function id(name){
return document.getElementById(name);}/**有elem参数,是查找elem下的节点名;如果没有elem,则查找整个文档*/function tag(name,elem){
return (elem || document).getElementsByTagName(name);}/**找出全部有指定类值的元素*/function hasclass(name,type){var r=[];var re=new RegExp("(^|//s)" + name + "(//s|$)");
var e = document.getElementsByTagName(type || "*");
for(var j=0;j<e.length;j++)
if(re.test(e[j])) r.push(e[j]);return r;}/**获取元素文本内容的通用函数*/function text(e){
var t = "";
e= e.childNodes || e;
for(var j=0;j<e.length;j++){