Archives by date

You are browsing the site archives by date.

jQueryにて親要素を取得する方法色々。

メモ。

// すぐ上の親要素がtdであれば取得可能
$('selector').parent('td');

// 先祖要素まで走査するパターン
$('selector').parents('div');

// 一番近い先祖を取得
$('selector').closest('div');

子要素の取得方法はまた後ほど。

jQueryにてeach()関数を逆から回す方法。

メモ。

$($('selector').get().reverse()).each(function(){
	// 処理を記述
})

each()を逆から走査させている訳ではなく、DOMエレメントを一旦リバースさせてからeach()に放り込むような実装。

Javascriptにてオブジェクトの中身が空か判定する方法。

メモ。

var obj = {'key': 'value', ...}
console.log(Object.keys(obj).length);

これでオブジェクトの要素数がわかるので、あとは比較演算子で1以上と指定すれば空判定が可能。

Javascriptの配列とオブジェクトを間違える事勿れ。

超絶初歩的だけど数分間悩んだのでメモ。

// 配列を生成するとき
var data = ['str1', 'str2', 'str3', ...];

// オブジェクトを生成するとき
var obj = {'key1': 'value1', 'key2': 'value2', ...};

ついさっきまで[]と{}の何が違うのとか思ってた件www

CakePHP2系にてヘッダーのContent-Typeをjsonに設定する。

メモ。

$this->response->type('json');
$this->response->send();

以上!

最後のsend()関数は通常リクエストの最後Dispatcherによって自動的に行われるが、自ら処理を殺している場合などはヘッダの送信処理が行われないため、自分で実行してあげないと想定した挙動にならないので注意。

例えば以下のような場合。

// 何かしらのデータ配列
$data = array('my' => 'apple', 'favorite' => 'banana', 'food' => 'orange');

$this->response->type('json');
$this->response->send();

// jsonデータとして出力して処理終了
echo json_encode($data);
die();

Ajaxの処理とかでjson形式のデータをコールバック関数に渡したい時などにやるやーつー。