我已阅读https://hacks.mozilla.org/2012/05/dom-mutationobserver-reacting-to-dom-changes-without-killing-browser-performance/,但仍不确定如何配置以实现我的目标。
页面上有一个元素由代码生成器生成(所以我无法阻止bevahiour)。该元素有一个id“myid”,我只需要在浏览器中显示它就隐藏它。我的挑战是如何配置观察者,以便在显示元素时触发代码。
我已将我的问题作为评论插入,我认为我需要这里的帮助,但如果我错了,请引导我:
var target = document.querySelector('#myid');
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
// how do I detect when the element is now on the page so that the next statement makes sense?
document.getElementById("myid").style.visibility = "hidden";
});
});
// what change do I need to make here?
var config = { attributes: true, childList: true, characterData: true };
observer.observe(target, config);
observer.disconnect();
答案 0 :(得分:3)
为什么不简单地使用CSS?这样你根本不必担心什么时候创建项目,你不需要开始使用脚本。
#myid {
visibility: hidden; /*!important; if necessary*/
}