JS if if条件基于if元素是否更改>然后填充数据字段

时间:2016-03-15 05:58:19

标签: javascript jquery json ajax

我想用JS创建一个简单的if / else语句。这将检查div元素是否已更改,然后填充从动态更改的HTML中提取的JSON数据字段/变量。

我不想使用DOMSubtreeModified。因为它已经折旧..

以下是启动逻辑,我有。但看起来我不得不废弃DOMSubtreeModified以获取一种不贬值的方法。

问题/问题是:如何重写不使用上述折旧技术,以及如何嵌套我的数据数组,它只会在首先检查我的{{ 1}}为任何指针干杯。

if (condition)

1 个答案:

答案 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;
&#13;
&#13;