装飾してツイートしよう
複数追加する場合は以下
jQuery:
$('#id').addClass('class1 class2');
JavaScript:
el.classList.add('class1','class2');
IEで使う場合はgetAttribute、setAttributeを使いましょう。
属性値の取得、設定はJavaScriptも直感的で覚えやすいですよね。
取得:getAttribute
設定:setAttribute
document.querySelector('html body')
でも取得できます
jQueryは
$iframe.contents().find('div')
javascriptは
iframe.contentDocument.querySelectorAll('div')
などで参照できます。
clickイベントなどで、radioボタンの何番目が押されたか調べたい場合などに使えます。
「function a()」は「巻上げ」というJavaScriptの仕様により、関数の先頭で宣言されたのと同じように動作します。
「var a=function()」の場合、変数のみが巻き上げられるのでエラーとなります。
見つかった場合(0以上)、見つからなかった場合
PHP:false
JavaScript:-1
を返すので、文字列の存在を判定する場合は
PHP:if (strpos(string,'oo')!==false)
JavaScript:if(strpos(string,'oo')!==-1)
となります
要素にidが付いてたら
document.getElementById('id').value
でも取得できます
クロージャーの特徴として
・グローバル変数の回避
・オブジェクトの変数(cnt)やメソッドが他のプログラムから変更されない
・クラスみたいな使い方ができる(継承やコンストラクタはなし)
といったことが挙げられます
location.replaceは履歴に残らないので、ブラウザの戻るボタンなどでページに戻ることができなくなります。
自動でリダイレクトする場合など戻る必要のないページに利用できますね。
配列を利用する際はシンプルな記述ができる「for..of」がおすすめ。
普通のオブジェクトをループさせるには
「Object.keys」
などを利用する必要があるので注意が必要です
jQueryの場合、以下のような書き方もできます。
動作は全て同じです。
jQuery(document).ready(function() {
..
});
jQuery(function(){
..
});
reactや vue.jsなど多くの機能をJavaScriptで実装する案件が増えてきています。
潜在的なバグ等を早期に発見するためにも「use strict」積極的に使用していきたいですね。
関数リファレンス用のテンプレです。
https://generator.tubudeco.com/g6576/
substrは一覧表示などでタイトルや概要の一部だけを表示したい場合によく使いますね。
構文:array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
array.splice(2); //[1,2]
array.splice(2,2); //[1,2,5]
のように削除も可能
最初の要素を取得する場合
jQuery:「$('#id').find('p').eq(0)」
JavaScript:「id.querySelector('p')」
です
最初の要素の値を確認する場合
・jQuery
=> $('input[type=checkbox]').eq(0).val();
・JavaScript
=>document.querySelectorAll('input[type=checkbox]')[0].value;
IDの取得はJavaScriptの記法でもよく使います。
最近はブログもJavaScriptのみサンプルも増えてきたのでどちらも覚えたほうがいいですね。
配列化したinput要素をカンマ区切りでDBのカラムに格納する場合などによく使用してます。
比較用のテンプレです
https://generator.tubudeco.com/g6555/
jQueryとJavaScriptの書き方の違いを比較してみました。
jQueryシンプル
PHPとJavaScriptの文字列結合の違いです。
どちらのコードも書いているとたまに間違えます。。。
文字列を区切り文字で配列化する場合
・PHPは「explode」
・JavaScriptは「split」
で可能です。たまに忘れる。。。
複数削除する場合は以下。
jQuery:
$('#id').removeClass('class1 class2');
JavaScript:
el.classList.remove('class1','class2');
#jquery
#javascript
#駆け出しエンジニアと繋がりたい
#プログラミング勉強中