时间: 2021-07-31 作者:daque
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不许用那些属性来变换实质。