document.body.insertAdjacentHTML用法

<script language="javascript">
//document.body.insertAdjacentHTML("beforeBegin","<input name='tt' type='text' value='beforeBegin' />");
document.body.insertAdjacentHTML("afterBegin","<input name='tt' type='text' value='afterBegin' />");
document.body.insertAdjacentHTML("beforeEnd","<input name='tt' type='text' value='beforeEnd' />");
//document.body.insertAdjacentHTML("afterEnd","<input name='tt' type='text' value='afterEnd' />");
</script>


实现Web页面内容动态改变的dhtml操作
IE的DHTML对象提供了四个可读写的属性来动态操作页面元素的内容:innerText, outerText, innerHTML, outerHTML.

需注意两点:

1.   其中innerText,outerText属性的值是作为普通文本呈现的,即使它含有HTML标签也如实反应出来;而innerHTML, outerHTML呈现的是经HTML引擎解析后文本,它可以反应属性中HTML标签的表现效果。

2.   对对象的outerText,outerHTML属性赋值(即写操作)会删除该对象。

以上四个属性的赋值操作只是替换原对象的文本内容,想要在页面中指定元素相关位置新增文本内容,需采用insertAdjacentHTML和insertAdjacentText方法。形式如下:

object.insertAdjacentText(sWhere, sText)
object.insertAdjacentHTML(sWhere, sText)
其中 sWhere 表示插入的文本相对于html标签的位置,有如下四个预设值:

beforeBegin,afterBegin,beforeEnd,afterEnd

使用中需注意如下几点:

1.这两种方法必须在整个文档装载完成之后才能使用,否则将出错。

2. InsertAdjacentText只能插入普通文本,InsertAdjacentHTML插入html格式的文本

3. 用InsertAdjacentHTML插入脚本,必须在script元素中使用defer属性,否则脚本执行将出现运行期错误

4.InsertAdjacentHTML插入html元素后,all以及其他可能的元素集合将自动更新以反应动态变化。如页面后续元素的sourceIndex 属性将改变。

5.当赋予InsertHTML/outerHTML属性无效的HTML标签,该方法可能出现运行时错。如以下代码将出错:

  <BODY>

    <p id=pdiv></p>

    <SCRIPT LANGUAGE="JavaScript">

      pdiv.innerHTML = "<p>hello</p>"

    </SCRIPT>

    </BODY>

此外页面内容动态操作还需要注意如下一些细节:

1.只有文档BODY内显示的内容能被以上属性和方法动态改变,BODY对象的内容能被动态操作,但BODY对象本身无法被替换。

2.以上属性和方式不能操作空标签(没有内容的html标签),如input,img。

3.对于table对象而言,只有td(innerHTML/innerText)和table(outerHMTL/outerText)对象可以用某些属性来替换或插入内容;而其他table对象,如tr、tbody不能用这些属性来改变内容。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qi_jianzhou/archive/2006/01/11/575853.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值