Javascript 仅使用MutationObserver观察特定属性的属性更改
我有一个项目列表,我正在使用“突变观察者”检查是否从该列表中添加或删除项目。代码如下所示:Javascript 仅使用MutationObserver观察特定属性的属性更改,javascript,jquery,html,dom,mutation-observers,Javascript,Jquery,Html,Dom,Mutation Observers,我有一个项目列表,我正在使用“突变观察者”检查是否从该列表中添加或删除项目。代码如下所示: function TrackListChange(elementId) { const targetNode = document.getElementById(elementId); const config = { attributes: true, childList: true, subtree: true };
function TrackListChange(elementId) {
const targetNode = document.getElementById(elementId);
const config = { attributes: true, childList: true, subtree: true };
const callback = function (mutationsList, observer) {
for (let mutation of mutationsList) {
if (mutation.type === 'childList') {
alert("added to list");
}
if (mutation.type === 'attributes') {
alert("removed from list");
}
}
};
const observer = new MutationObserver(callback);
observer.observe(targetNode, config);
}
我遇到的问题是,当我从列表中删除一个项时,两个类属性都会更改,并且它会跟踪这两个属性。我只希望在从列表中删除某个项目时调用一次警报。为了更好地解释,下面是代码:
<div class="divclass active">
<ul class="items-list" id="user-items">
<li id="newitem1"></li>
<li id="newitem2"></li>
</ul>
</div>
当我添加一个项目时,会添加一个新的希望有人能给我解释清楚,给我指出正确的方向 如果将第二个参数中的
属性
选项设置为假
。观察(),它不会通知您属性值的更改。唯一的过滤功能是接受属性名称列表。无法按属性值指定筛选器,因此代码应该在回调中显式执行此操作。