JavaScript
正規表現リテラル JavaScriptで正規表現を表現するためのもの。 文字とかは、シングルクォーテーションとかで 'aaa' で表現するが、 正規表現は、 /aaa/ で表現する。 何に使うか 正規表現を使う関数とかで使う var str = "今日はいい天気"; var reg = /日/ …
一見動きそうなコード '27<br/>(日)'.match(new RegExp('\(日\)')); '日数'.match(new RegExp('\(日\)')); これ動きそうって思ってたら、動かないんですよ/(^o^)\ なんで?戻り値を見る new RegExp('\(日\)') の戻り値が /(日)/ になって、 matchの中には /(日)</br/>…
aタグでJavaScriptを動かしたい aタグでJavaScriptを動かしたい。 onclickを使ってもいいが、hrefで動かしたい。 <span onclick="submit();">ボタン</span> こんなふうに描けば、submitが動くが、 hrefを扱ってaタグでの挙動にしたい。 あるいは、デザインとか扱いの都合でaタグを使いたい。 …
関数名が被る? <script> function xxx() { return "x"; } </script> こんなふうにスクリプトタグに直接関数を書いた。 <script src="common.js"></script> こんな感じにJavaScriptを別ファイルに書いていた場合、 common.jsと関数名が被る可能性があります。 すると、読み込み順によって動作が被る可能性があり…
jQuery Datatablesプラグインのバグ datatables.net こちらを使ってるが、起動させると、ウィンドウの幅を変えた時とかにthの部分のリサイズが上手くいかない。 いくつか対応方法が他の記事にあるが、そのうちの1つの書き方について。 width: 100%を直書き…
th:replaceでパーツ化したい HTMLをパーツ化したい。 partsA.html <div id="parts" th:fragment="parts-fragment"> パーツ </div> このパーツを読み出す BaseB <div th:replace="partsA::parts-fragment"> このとき、 id="parts" を使ったJavaScriptがあった。 JavaScriptもパーツ化する partsA.html <div id="parts" th:fragment="parts-fragment"> パーツ </div> </div>
なぜか追加プラグインが動かない jQueryのプラグインを新しく入れた。 しかし、今まで入れたプラグインが全て急に動かなくなった。 どうやら、プラグインを入れたせいなのまではわかったが、原因がわからなかった。 jQuery本体入りのJSだった 今回入れたプラ…
非表示のものを対象にしたい 非表示に対して、特定の動作をしたくない。 あるいは、表示させているものにだけjQueryの対象にしたい。 :hidden :visible :hidden で非表示のものを対象にする。 :visible で非表示ではないものを対象とする。 従って、 $(":hid…
クライアント側でバリデーションをしたい サーバー側でも入力値を確認してバリデーションをかけるが、 出来れば通信を使わずにエラーが出せる部分は出したい。 であれば、クライアント側でバリデーションをかけたい。 jQuery Validation jqueryvalidation.or…
画面を描写した瞬間、ごちゃごちゃ動いてる ページを表示する時に、画面に一瞬要素の一部だけが表示されて、 その後完全な形が表示されることがある。 これは、HTMLの描写が終わった後にJavaScriptでHTMLを書き換えたりしているため。 かといって、JavaScrip…
テーブルのソートとかをしたい テーブルタグがあって、それのソートや検索をしたい。 普通に実装すると、まーーーあ大変。 一個一個作って、しかもバグとか起こったら辛い。 なので、プラグインとか使おう DataTables datatables.net 使い方 jQueryとDataTab…
テーブルにインプットが複数 このようなselectが2つなのですが、 1つ目のselectに合わせて、2つ目のselectを変えたい。 加えて、他のやつと連動しないように注意したい。 国 言語 アメリカ 日本 英語 日本語 アメリカ 日本 英語 日本語 作ったもの例 codepen…
テーブルのカラムを追加したい テーブルの入力項目をどんどん増やしたい。 増やすとすると、その入力項目のテンプレートが必要。 テンプレートに合わせて、テーブルの列を増やしていくスクリプトを書きたい。 ボタンを押すと増やすプログラム // 非表示にし…
1個でもチェックされたら表示したい チェックボックスがチェックされたときに、何かを表示したい。 ではなく、どれか一個だけでもチェックされたら表示をしたい。 例えば共通の内容があって、片方がチェックされたら表示させたい。 サンプルコード <input type="checkbox" class="check_item" onchange="anyOneCheckedShow('.check_item', '.show_item')">
ウィンドウのアクティブ・非アクティブ アクティブなウィンドウと、そうでないウィンドウで処理を分けたい。 場合によっては、非アクティブにしたい時とかにどうするか。 blur/focus イベントのblur(非アクティブ)、focus(アクティブ)を操作すると良いです。…
JavaScriptで標準だと思ったら使えない関数? 普段だったら普通に使えてた関数が使えない、なんでだろう。 console.logとかが動かない。 ブラウザ上じゃないとか、特定のツール上で動いているとか。 スコープが違う 今動かしているJavaScriptが動いている場…
グローバルスコープでJSを実行したい 別スコープ内で文字列でスクリプトを保持しているが、そのスクリプトはグローバルスコープで実行したい時。 例えば、外部からJSを取得して文字列で持った。 それには汎用的な関数を定義してあった。関数の再利用をしやす…
同じ名前のプロパティとメソッド var obj = {}; obj.param = "3"; obj.param = function () { return "func"; }; こんなふうに同じ名前でメソッドとプロパティを設定したら? 結果 obj.param(); // "func" obj.param; // ƒ () { return "func"; } こんなふう…
ボタンのJavaScriptを確認したい あるボタンに対して、JavaScriptのクリックイベントとかがバインドされているか確認したい。 自分が作ったプログラムではないとか、 自分が作ったプログラムが実際にちゃんと動いているかとか確認したい。 やり方 F12などで…
開眼!JavaScript読んでみました この本です。おすすめですよ! 広告リンクなので、紹介してくれてありがとーって人はこちらから購入をお願いいたします(‘ω‘ )! おすすめの人 1. JavaScriptを触って、とりあえずなにか作れるようになった人 2. JavaScriptで…
window.onload ページの読み込みが終わったら動くJavaScriptを書きたい。 window.onload = function() { console.log('aaa') } こんな感じに、表示後にconsole.logを吐き出したい。 ・・・あれ?なんで動かないんだろう? コードを上書きしてるから 上記のコ…
Vueの勉強始めました Laravelの勉強していたんですが、私、フロントエンドは生のJavaScript、jQueryで書いてました・・・ TypeScriptやなにかフロントエンドのJSフレームワーク覚えたいな・・・ってことで、選ばれたのはVue.jsでした。 なんでVue? JavaScrip…
ABテストが上手く動かない? Webサイトを2種類作ってABテストを実行するときに使われる、Google Optimize。 marketingplatform.google.com これでCSSを書くのは上手くいったけど、JavaScriptが動かない・・・ こういうときにはJavaScriptの基礎、2つ疑ってみ…
jQueryでajax使ったpost Laravelは、csrfのトークンをpost処理に入れないと、postをすることが出来ないです。 JavaScript(jQuery)使ってpostするときは、なんとかしてそのトークンを混ぜないといけない。 でも、それを毎回JavaScriptに書くのは面倒・・・ aj…
こんなとき使う ボタンをクリックしたら、表示する文字を切り替えたい。 表示する内容を切り替えたいとかは良くあります。 show()や hide()を使うのもありですが、たくさん切り替えるとかも面倒なので、 1行ですっきり書いてみましょう toggle <button id="btn_before_after">Toggle</button> <p class="before_after">before</p> <p class="before_after" style="display: none"></p>…
書き方いくつか 書き方いくつか用意しました。 お好みの方をどうぞ。 こんなコードがありました。 $('.ClickA').click(function () { //クラス名を変える $('.ClickA').addClass('ClickA').removeClass('ClickB'); //イベントをつけ直す $('.ClickB').unbind…
unbindの例 $('#btn').click(function () { return 'NG'}); $('#btn').unbind(); $('#btn').click(function () { return 'OK'}); なにをしてるの? 一行目のclickで、#btnがクリックされた時に、'NG'を返す機能が付きました。 二行目で、#btnについている機…
こんな時使う <a href="/"></a> こんなふうにリンクを作るんじゃなく、 <button onClick="requestApi()"></button> のように、JSでどこかのページを呼び出したい。 入力がある時だけページを呼び出すとか、if文を使いたい時とか。 1.ページ遷移 location.href = '/home'; だけ。簡単だね! 2.jQueryでapi呼び出し var …
こんなときがありました <form> <input></input> <button onClick="submit();"></button> </form> こんな感じの構成で、submitが想定通りに動かなかった。 私のときは、Laravelのバリデーションのエラーで、サーバーサイドを疑いそうになった。 ブラウザの問題なのに。 IEは二重送信をそのまま送る buttonタグのonClick()でsubm…
htmlで邪魔な要素がある <div class="gomi"> <p>ごみー</p> </div> <div class="ringo"> <p>りんご</p> </div> この時、gomiって書かれてるクラスの要素を消して、こうしたい <div class="ringo"> <p>りんご</p> </div> jquery使ってこうする $(".gomi").remove(); これで消せる