JS中在IE8下怎么复制一个节点元素,通过dom *** 作实现插入

JS中在IE8下怎么复制一个节点元素,通过dom *** 作实现插入,第1张

第一种

1

2

3

4

5

6

7

function insertEle() {

var oTest = document.getElementById("box-one")

var newNode = document.createElement("div")

var reforeNode = document.getElementById("p1")

newNode.innerHTML = " This is a newcon "

oTest.insertBefore(newNode,reforeNode.nextSibling)//新建的元素节点插入id为P1节点元素的后面。

}

第二种

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

// 自定义函数向后插入

function insertAfter( newElement, targetElement)

{

var parent = targetElement.parentNode

if ( parent.lastChild == targetElement )

{

// 如果最后的节点是目标元素,则直接添加。因为默认是最后

parent.a( newElement )

}

else

{

//如果不是,则插入在目标元素的下一个兄弟节点的前面。也就是目标元素的后面

parent.insertBefore( newElement, targetElement.nextSibling )

}

}

自己把click处理方法绑定到div#aaa里,只要div#aaa里面有点击事件 这个事件就会冒泡冒上来。

这样做只需绑定一次就搞定了,不然每加个节点还要去设置onclick或绑定事件。。蛮烦!

绑定事件方法

//别告诉我你还在用IE8- IE8-只能用attachEvent相当不屑

document.getElementById("aaa").addEventListener("click",function(e){},false)

//false好像是从里面往外面冒泡 p>div>..body..>window,true为从外面玩里面冒 window>..body..>div>p 貌似是这样

//function里可以定义处理方法了,第一个参数为事件对象event,e.target为点击的对象

function(e){

    if(e.target.tagName=="P")//判断一下是不是P标签,有可能是div或其他里面的陌生标签

        alert(e.target.id)//显示p的ID

}

id="" 放在 table 里,IE8不支持; 放在 tr 里,谷歌、IE6不支持; 只有放在 td 里,IE、谷歌、Firefox 才全部支持。 浏览器不兼容的问题,是由于微软自创的 JScript 不完全遵循 ECMAScript 的结果。而谷歌浏览器借鉴了IE6的内核,是同一水平的.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11863496.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存