如何获取元素的内容

以下函数摘录自【精通javascript】

 

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++){

 

t += e[j].nodeType != 1 ? e[j].nodeValue : text(e[j].childNodes);

}

return t;

 

}

 

/**

删除一个独立的dom节点

*/

function remove(elem){

 

if(elem)

elem.parentNode.removeChild(elem);

 

}

 

/**

删除一个元素下的所有子节点

*/

function empty(elem){

 

while(elem.firstChild)

remove(elem.firstChild);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值