鍍金池/ 問答/HTML5  HTML/ 原生js或者jQ 如何監(jiān)聽某dom元素變換

原生js或者jQ 如何監(jiān)聽某dom元素變換

比如要實現(xiàn)以下效果

<div id="container">
    <div class="item">item1</div>   
    <div class="item">item2</div>   
    //   ....
</div>

像id為container的容器里面的內(nèi)容會變換
比如會appendChild()一個item
比如會移除一個item
比如會吧item1 變成 ITEM1

每次發(fā)生以上變化時 會打印一個'1' console.log('1')

請問如何 實現(xiàn)

回答
編輯回答
貓小柒

http://javascript.ruanyifeng....
監(jiān)聽dom元素變化

2017年1月14日 21:34
編輯回答
離夢

IE瀏覽器有onpropertychange事件,其他瀏覽器目前沒有很直接的解決辦法,so上有一篇關(guān)于jquery監(jiān)聽div變化的帖子
http://stackoverflow.com/ques...

2018年8月8日 13:21
編輯回答
孤影

可以看一下MutationObserver監(jiān)聽dom變動,vue之前用到過,在UIWebView iOS > = 9.3.3是有兼容bug
觀察者模式

2018年7月10日 04:23
編輯回答
歆久

沒用兼容方法。如果開啟定時器肯定不可取。
想要監(jiān)聽,只能通過一個中間對象來監(jiān)聽。你要改變一個元素,肯定會有操作,你的所有改變操作都通過一個中間對象,然后中間對象會做出反應(yīng),來達(dá)到監(jiān)聽變化的的效果。
可參考redux

2017年3月17日 14:29
編輯回答
澐染

首先你的這些變化都是通過某些函數(shù)的執(zhí)行來實現(xiàn)的。不可能會憑空變化。
所以,你只要找到那個控制變化的功能函數(shù),其完成后consol.log(1)就可以了

2017年5月4日 08:42