要确定HTML元素是否被JavaScript(包括jQuery)修改,可以通过以下几种方法:
DOMSubtreeModified
,可以知道元素是否被修改。// 选择要观察变动的节点
var targetNode = document.getElementById('someElementId');
// 观察器的配置(需要观察什么变动)
var config = { attributes: true, childList: true, subtree: true };
// 当观察到变动时执行的回调函数
var callback = function(mutationsList, observer) {
for(var mutation of mutationsList) {
if (mutation.type === 'childList') {
console.log('A child node has been added or removed.');
}
else if (mutation.type === 'attributes') {
console.log('The ' + mutation.attributeName + ' attribute was modified.');
}
}
};
// 创建一个观察器实例并传入回调函数
var observer = new MutationObserver(callback);
// 以上面的配置开始观察目标节点
observer.observe(targetNode, config);
// 如果不再需要观察,可以停止观察
// observer.disconnect();
$('#someElementId').on('DOMSubtreeModified', function() {
console.log('Element content has been modified.');
});
takeRecords()
方法清除不再需要的观察记录。DOMSubtreeModified
事件已被废弃通过上述方法和策略,可以有效地监控HTML元素是否被JavaScript或jQuery修改,并根据具体需求选择最合适的方法。
领取专属 10元无门槛券
手把手带您无忧上云