我有一个带有id='title'的span标签,这个值在一段时间后会改变。我想在更新时使用此值更新页面标题。
例如 <span id='title'>Title</span>
-- 这是当前标题
一段时间后,它被另一个脚本更新为
<span id='title'>New title</span>
每当页面标题更改时,无论更改多少次,我都想将页面标题更新为"新标题"。
现在我必须每 1 秒调用一次函数来更新页面标题。这会不断闪烁页面标题。所以我想监视更改,每当值更改时,我希望该值成为页面标题。
是的。你可以通过以下方式实现它
突变观察者
我根据您在评论中的jsfiddle链接回答了您的问题,我已经使用MutationObserver来实现您想要的。
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver ||
window.MozMutationObserver;
var target = document.querySelector('#demo');
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.type === 'childList') {
console.log(mutation.type);
document.getElementById('status').innerHTML='changed';
}
});
});
observer.observe(target, {
attributes: true,
childList: true,
characterData: true
});
我已经把它分叉到这个小提琴上。
希望对你有帮助
这个讨论似乎在关注同一个问题 - 只是他们正在监视一个div,而不是跨度.我知道你正在寻找用纯JavaScript来做到这一点,但我认为线程仍然很好审查。
Jquery 事件:检测对div 的 html/text 的更改