コンソールで実行するようのスクリプトを書く際のtips
セレクト
document.querySelector('div#hoge'); // <- element
document.querySelectorAll('div.fuga'); // <- NodeList
jQueryからネイティブJavaScriptへ置き換えの第一歩 - Qiita
属性
document.querySelector('[title="element title attribute value"]');
html - Select an element by title with JavaScript and modify it? - Stack Overflow
クリックイベント
document.getElementById("btn1").click();
[[JavaScript] ボタンクリックイベントを強制的に起こす | コピペで使える JavaScript逆引きリファレンス](https://javascript.programmer-reference.com/js-action-click/) |
ループ処理
for
for (var i = 0; i < 9; i++) {
console.log(i);
// more statements
}
[for - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/for) |
forEach
a.forEach(function(val){
console.log(this); //undefinedが表示されるか、windowオブジェクトが表示される
});
JavaScript Array.forEachとjQuery.eachの違い - Qiita
親要素を参照
var parent = target.parentNode;
[JavaScriptで親や兄弟要素を取得する | cly7796.net](http://cly7796.net/wp/javascript/get-parent-and-sibling-elements-with-javascript/) |
sleep処理
function loopSleep(_loopLimit,_interval, _mainFunc){
var loopLimit = _loopLimit;
var interval = _interval;
var mainFunc = _mainFunc;
var i = 0;
var loopFunc = function () {
var result = mainFunc(i);
if (result === false) {
// break機能
return;
}
i = i + 1;
if (i < loopLimit) {
setTimeout(loopFunc, interval);
}
}
loopFunc();
}
// 例(10回ループを、1000ミリ秒毎に実行します)
loopSleep(10, 1000, function(i){
doSomething();
});
JavaScriptでループ中にスリープしたい。それも読みやすいコードで - Qiita
sleep関数は存在しません。setTimeoutを使用します。
変数展開
var val = "JavaScript"
// テンプレート構文
var str2 = `Hello ${val}!` // => Hello JavaScript!
JavaScript (ES2015) 文字列中に変数展開できるテンプレート構文のメモ - かもメモ
要素のテキスト
var x = document.getElementById("myAnchor").text;
前後の空白を除去
var greeting = ' Hello world! ';
console.log(greeting.trim());
// expected output: "Hello world!";
[String.prototype.trim() - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/trim) |