18/02/26 01:21:29.63 .net
■ DOM API
(function() {
'use strict';
setInterval(function() {
var button = document.querySelector("paper-toggle-button[checked]");
if (!button || button.style.display == "none") return;
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
button.dispatchEvent(evt);
}, 1000);
})();
■ jQuery
setInterval(() => $("paper-toggle-button[checked]").click(), 1000);
■ 解説
DOM API版は長く一行で書くことができないのでローカル変数と即時関数が必要になる。
セレクタで要素を取ってくることはできるが存在しない場合の対応が必要になる
クリックイベントの発行が面倒
よってjQueryで一行で書けることが、十行も必要になってしまう
よく単純な例をあげてDOM APIはjQueryの2倍程度しかコードが増えないようなことをいうが
とんでもない。ちょっと複雑な事をしようとするとjQueryの10倍必要になる