insertBefore()插入在前node
appendChild()在以後瀏覽器
事件委託:app
利用事件冒泡,減小代碼。其中Event對象提供了一個屬性叫target,能夠返回事件的目標節點,咱們成爲事件源,也就是說,target就能夠表示爲當前的事件操做的dom,可是不是真正操做dom,固然,這個是有兼容性的,標準瀏覽器用ev.target,IE瀏覽器用event.srcElement,此時只是獲取了當前節點的位置,並不知道是什麼節點名稱,這裏咱們用nodeName來獲取具體是什麼標籤名,這個返回的是一個大寫的,咱們須要轉成小寫再作比較(習慣問題)dom
obj.addEventListener('click',function(ev){
var event=ev||window.event
// 得到目標節點的兼容寫法
var target=event.target||event.srcElement
// console.log(target.getAttributeNode("id").nodeValue)
// 屬性節點
// if(target.getAttributeNode("id").nodeValue=='select'){spa
//alert('babi')
// }對象
簡便寫法:
if(target.id=='select'){
alert("babi")
}事件
這是事件冒泡;代碼以下從內到外(沒毛病)get
document.addEventListener("click",function(){
console.log("QQ3")
},false)
body.addEventListener("click",function(){
console.log("QQ2")
},false)
p.addEventListener("click",function(){
console.log("QQ1")
},false)io