观察JavaScript中的类更改

时间:2019-02-27 19:35:55

标签: javascript jquery mutation-observers

如何监视DOM元素上的CSS类更改。我无法以编程方式触发事件。 f.e我有多个ul标签,其中包含具有两个类的元素,一个是静态的,并且永不更改,第二类可能随时间变化,当它发生时,我想获取该元素。同样重要的是,新的ul标签可以在网站上附加。

<div>
   <ul class="list">
    <li class="static-class changableClass">a</li>
    <li class="static-class changableClass">b</li>
  </ul>
</div>
<div>
  <div>
    <ul class="list">
      <li class="static-class changableClass">c</li>
      <li class="static-class changableClass">d</li>
      <li class="static-class changableClass">e</li>
    </ul>
  </div>
</div>

使用MutationObserver

var e = document.getElementsByClassName('static-class')
var observer = new MutationObserver(function (event) {
  console.log(event)   
})

observer.observe(e, {
  attributes: true, 
  attributeFilter: ['class'],
  childList: false, 
  characterData: false
})

     observer.observe(e, {
  attributes: true, 
  attributeFilter: ['class'],
  childList: false, 
  characterData: false
})
  

引发错误“无法在'MutationObserver'上执行'观察':参数1的类型不是'节点'。”

0 个答案:

没有答案