実行順序 | 処理 |
---|---|
1 | DOMが読込まれる |
2 |
$(function(){} jQuery(function(){} jQuery(document).ready(function(){
|
3 | 画像などのコンテンツが読み込まれる |
4 |
$(window).load(function(){} window.onload = function() {}
|
Node.js
# Node.jsのバージョンを見たい
$ node -v
v10.23.1
# yarnのバージョンを見たい
$ yarn -v
1.22.10
# 【npm】-----------------------------------------
# npmのバージョンを見たい
$ npm -v
# インストールしたものの一覧を見たい
$ npm ls
# 特定のパッケージに関わるものだけ、インストールしたものの一覧を見たい
$ npm ls {パッケージ名}
# 階層を指定して、インストールしたものの一覧を見たい
$ npm ls --depth=0
- Node.jsをインストールする - Qiita
- yarnの使いかた - Qiita
- yarnをインストールする - Qiita
- Visual Studio CodeとDockerを使ってでVue.jsをやってみる - ponsuke_tarou’s blog
- 【いまさらですが】package.jsonのdependenciesとdevDependencies - Qiita
- Vuetifyの便利なCSSのクラス集 - Qiita
〇〇を変換したい
/** 日付を文字列に変換したい(AngularJS) */
let date = new Date();
let stringDate = $filter('date')(date, 'yyyy-MM-dd');
/** 文字列を日付に変換したい : 「-」のままだとiOSのSafariで失敗するそうな */
let string = '2021-02-17'
let date = new Date(string.replace(/-/g, '/'));
- 型を変換したい
- 文字列の〇〇ケースに変換したい
文字列を〇〇したい
- 文字列の結合方法による速度差 - Qiita
- 置換したい
- JavaScriptで指定文字を置換、削除する方法
- 空白削除したい
- 前後だけはtrim
- 前後と間のときはreplace
- 検索したい
Google Apps Script : GAS
- GASのクラス
- Gmailの検索
- GASの定期実行
- 添付ファイル
いろいろ取得とか設定とか表示非表示活性非活性したい
ライブラリを使いたい
- 素敵なセレクトボックスを期待するSelect2
- シャレオツなグラフを作るHighcharts
- ある程度なグラフを作るjqPlot
- C3.js | D3-based reusable chart library
-
Chart.js documentation
- Vue.jsで使うとき : 📈 vue-chartjs
よくやることを忘れてしまった
// 要素作成:普通
document.createElement('タグ')
// 要素作成:jQuery
$('<タグ>');
// 要素の値設定:普通
要素オブジェクト.setAttribute('value', 値);
// 要素の値設定:jQuery
要素オブジェクト.val(値);
// 要素のHTML文字設定:普通
要素オブジェクト.innerHTML = 'HTML文字';
// 要素のHTML文字設定:jQuery
要素オブジェクト.html('HTML文字');
// 要素に子要素を追加:普通
要素オブジェクト.appendChild(子要素オブジェクト);
// 要素に子要素を追加:jQuery
要素オブジェクト.append(子要素オブジェクト);
- jQueryにおけるcreateElement
- 【jQuery】フォーム部品の取得・設定まとめ - Qiita
- alertで改行を入れたい
計算したい
// これ使えます。
let a = 1;
a++;
++a;
a--;
--a;
let date = new Date();
// 1日足す
date.setDate(date.getDate() + 1);
- 端数処理したい
変数と定数
let customField = 'hoge'
// だめな書き方
let payload = {
'summary' : '件名',
'description' : '本文',
customField : 'ぽんすけ'
};
// 大丈夫な書き方
let payload = {
'summary' : '件名',
'description' : '本文'
};
payload[customField] = 'ぽんすけ'
これって予約語だっけ?
- 予約語 - JavaScript | MDN
- 予約語 - JavaScriptの基本事項 - JavaScript入門
- JavaScriptのキーワードと予約語
- JavaScript の予約語 | Microsoft Docs
定数定義:const
Internet Explorer 11 標準ドキュメント モードでサポートされています。ストア アプリ (Windows 8.1 および Windows Phone 8.1) でもサポートされます。「バージョン情報」を参照してください。
Quirks、Internet Explorer 6 標準、Internet Explorer 7 標準、Internet Explorer 8 標準、Internet Explorer 9 標準、Internet Explorer 10 標準の各ドキュメント モードではサポートされません。Windows 8 ではサポートされません。
const ステートメント (JavaScript)
ブロックスコープ定義:let
Supported in the Internet Explorer 11 standards document mode. Also supported in Store apps (Windows 8.1 and Windows Phone 8.1). See Version Information.
Not supported in the following document modes: Quirks, Internet Explorer 6 standards, Internet Explorer 7 standards, Internet Explorer 8 standards, Internet Explorer 9 standards, Internet Explorer 10 standards. Not supported in Windows 8.
let Statement (JavaScript) | Microsoft Docs
配列を使いたい
// 配列定義:new Array より [] のほうが望ましい。とSublimeLinterに言われた。
var arr = [];
var arr = [1, 2, 3];
// 要素数を数える:Javaと並走して実装していると()をつけたくなりますが不要です。
var count = arr.length;
- new Array()と[]の違い - Qiita
- 連想配列のlengthがおかしい!と思ったら使えないらしいです。
- 多次元配列 - 配列 - JavaScript入門
- 配列への追加・削除・結合
if (配列.length) {
// 空([])ではない場合の処理
}
if (配列.indexOf(確認するもの) != -1) {
// 含まれている場合の処理
}
- jQueryによる要素の存在チェックまとめ: 小粋空間
- [JS][jQuery] 要素の存在を確認する6通りのコードと実行速度 | きほんのき
- JavaScript で配列を判定する正しいやり方 - Qiita
jQuery.each(配列かオブジェクト, function(Integer インデックスかハッシュkey, Object それぞれの値とかオブジェクト) {
やりたい処理;
return ぐるぐる回す条件(falseになれば止まる);
});
- JavaScript Array.forEachとjQuery.eachの違い - Qiita
- jQueryのeach()メソッドの基本的な使い方 | UX MILK
- JavaScriptにおける連想配列のforループ操作 - Qiita
- jQuery.each() | jQuery API Documentation
- jQuery の each() の continue / break は・・・ - 地潜の日記
<select>
ボックス製造隊
- <select size="行数"><option> リストボックスを作成する -HTMLタグ辞典-
- select 内の option 要素(セレクトボックス)を JavaScript で追加していく | Flashlight Mutous
- 調査メモ: bootstrap-selectを試してみる
- bootstrap-selectで1つだけ選択できるプルダウンリストを作る方法 - Qiita
- bootstrap-selectでプルダウンリストの選択肢が消えたりはみ出したりした時の対応方法 - Qiita
- スクロールできるダイアログでbootstrap-selectを使ったらリストが画面からはみ出して選択できなくなった時の対応方法 - Qiita
- bootstrap-select でドロップダウンリストが上向き表示時にリスト領域がfixedボックス位置で途切れた!containerオプションで対策 | サイト構築日記
- bootstrap-selectで作ったセレクトボックスを活性化できないときの対応方法 - Qiita
-
<select>
ボックスの中身に配列を設定したい
リロードしても値を保持したい
単純にリロードしたくない場合
WebStorageを使ってみる
- 連載:人気順に説明する初めてのHTML5開発:ブラウザでストレージ? Web Storageを使いこなそう - @IT
- オブジェクトをダイレクトに保存できません
- Storageのデータを消去する-JavaScript入門(HTML5編)
ファイルを〜したい
要素の操作
要素の幅を動的に変えたい
要素を動的に追加したい
タブ表示にしたいとき
テーブル
- Javascriptでtableタグに行、列の追加や削除を行う | ScrapEngineer
- jQueryでテーブルに行を追加する方法: 小粋空間
- JavaScript / jQueryでtableの行を「追加」「削除」「移動」「変更」させる方法 | maesblog
- ボタンクリックでテーブルに行を追加する JavaScript | JavaScript | 阿部辰也のブログ――人生はひまつぶし。
jQuery Templates << jQueryでテンプレートを使う
JSDocを書きたい
-
JSDoc使い方メモ - Qiita
- JSDoc : 3.2.2
-
Google JavaScript スタイルガイド - 日本語訳 - JavaScriptのデータ型
- @param などでの型の書き方をお忘れのときに
JavaScriptの読み込み
<script ..... />
ではなく <script....></script>
にしましょう。ついつい />
で閉じたくなります。
じゃ、外部CSSの読み込みに使う <link>
は・・・・・
</link>は問題外
HTML5 : 「/>」は基本なしで「/>」があってもOK
HTML4以前 : 「/>」は基本なしで「/>」をつけるのは非推奨
XHTML : 「/>」が必須
- jQuery入門 - GoogleにホストされているjQueryファイルの読み込み - Webkaru
- scriptタグを<script src="~" />って書くと、なんで上手くいかないかまとめてみた - かせいさんとこ
- HTML5でも<script src="hoge.js"></script>としなければならない理由は何か? - C++ ときどき ごはん、わりとてぃーぶれいく☆
- scriptタグは空要素っぽく閉じると,FirefoxやIEで読んでもらえない ::ハブろぐ
- <link>-HTML5タグリファレンス
- HTML5って「/>」って不要だよね? 空要素の最後にスラッシュ必要か? – 76bit Cafe
CDNが書いてあるところを忘れた
- いろいろあるGoogle Hosted Libraries
- jQuery CDN
- Using Select2 from a CDN
- Quick Start · BootstrapCDN by StackPath
// Vue.js
<script src="https://unpkg.com/vue"></script>
// jQuery(jQuery CDN)
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
// jQuery(Google Hosted Libraries)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
// jQuery-UI(jQuery CDN)
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>
// bootstrap(MaxCDN)
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
// bootstrap-select(CDNJS)
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/css/bootstrap-select.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/js/bootstrap-select.min.js"></script>
判定
値を判定したいとき
let a = 何か;
if(a) {
// [](配列), {}(オブジェクト), -1(数値)
} else {
// "00"(文字:はまった・・・)
// ""(文字), 0(数値), false(真偽), undefined, null
}
-
[JavaScript] null とか undefined とか 0 とか 空文字('') とか false とかの判定について - Qiita
- !value みたいな書き方はすごく使うのに空文字とか空の配列がどっちになるかすぐ忘れてしまいます
NaNを判定したい
-
NaNの判定について - Qiita
- isNaN と Number.isNaN があることを勉強できました。
要素の状態を判定したいとき
型を判定したいとき
switch文
式と値が一致するかどうかは「==」演算子ではなく「===」演算子によって比較されます。
switch文 - 条件分岐 - JavaScript入門
入力チェックしたい
イベント
-
jQuery 便利なonを使おう(on click) - Qiita
- on だけではなく bind / live / delegate についても成る程な説明があります。
- jQuery.on()は追加式なのでイベントの重複登録に注意しよう - Qiita
- jQueryで登録済みイベントハンドラを一覧する方法 - それマグで!
- jQuery UIのDatepickerを閉じた時にイベントを実行したい - Qiita
HTMLでの属性
IDEくさいものを使いたい
困った
- JavaScript 構文エラー
- ボタンでクリップボードからテキストボックスにコピー内容を貼付ける事ができなかった記録 - Qiita
- ウィンドウを閉じるときに任意のメッセージを設定したダイアログを表示する事ができなかった記録 - Qiita
- Provisional headers are shown - Qiita
- error Command "dev" not found. - Qiita
- Uncaught TypeError: Vue is not a constructor - Qiita
XMLHttpRequest cannot load xxxxx.***
Chromeでは$.getJSONでローカルにあるJSONファイルが読めないらしいです。
$.getJSON('ローカルのJSONファイル', function(data) {
処理
});
こう書いてChromeで実行したら怒られました。
XMLHttpRequest cannot load ローカルのJSONファイル. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
英語がわからないのでGoogle翻訳してみました。
XMLHttpRequestはローカルのJSONファイルを読み込めません。Cross origin要求は、http、data、chrome、chrome-extension、https、chrome-extension-resourceのプロトコルスキームでのみサポートされています。
- [その他] ChromeにてAjaxでローカルファイルにアクセス - Qiita
- Google Chromeでは(Ajaxで)ローカルファイルにアクセスしようとするとエラーになることについて、他 - エンジニアのソフトウェア的愛情
- ローカル(file:///)上で外部ファイル読み込みのセキュリティ制約を回避するいくつかの方法 - Qiita
SyntaxError: Unexpected token ] in JSON at position xxx
JSON.pase(jsonObj); したら怒られた。jsonObjはこんな感じで書いた。
[
{"companyId":"a","companyName":"えー"},
{"companyId":"b","companyName":"びー"},
]
2個めの「,」が余計だった・・・JSONをノリで書くのはいけません。