我想用JS创建一个简单的if / else语句。这将检查div元素是否已更改,然后填充从动态更改的HTML中提取的JSON数据字段/变量。
我不想使用DOMSubtreeModified
。因为它已经折旧..
以下是启动逻辑,我有。但看起来我不得不废弃DOMSubtreeModified
以获取一种不贬值的方法。
问题/问题是:如何重写不使用上述折旧技术,以及如何嵌套我的数据数组,它只会在首先检查我的{{ 1}}为任何指针干杯。
if (condition)
答案 0 :(得分:1)
您可以使用MutationObserver并关注data-username
更改
var element = document.querySelector('.username'); // username div wrapper
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.attributeName = 'data-username') {
var date = new Date();
var month = date.getUTCMonth() + 1;
var day = date.getUTCDate();
var year = date.getUTCFullYear();
var time = date.toLocaleTimeString();
var formattedDate = month + '/' + day + '/' + year;
snippet.log(time); // 7:01:21 PM
snippet.log(formattedDate); // 3/15/2016
}
});
});
var config = {
attributes: true,
attributeFilter: ['data-username']
};
// pass in the target node, as well as the observer options
observer.observe(element, config);
// change something on element
setTimeout(function() {
element.dataset.username = 'bar';
}, 1000);

<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<div class="username"></div>
&#13;