Javascript(jQuery) で オブジェクトとかタグの存在を確認する

基本的な内容ですが、ちょくちょく忘れるので書いておく。
これをまとめているときに、prototypeと__proto__の挙動がちょっと理解できた気がするw
やっぱり、書いてまとめるって大切ですなーと自己満足

// オブジェクト(jQuery)があるかどうか
if (typeof(jQuery) !== undefined){ /** jQueryオブジェクトは存在してるよ! */ }

//プロパティがあるかどうか
obj = {foo:"muu",bar:"boo"}
if (obj.bar ){ /** true */ }

//if in 文法
if ("bar" in obj){/** true */}

//プロトタイプか判別
if (obj.hasOwnProperty("bar" )){ /** プロトタイプじゃないよ */ }



// 任意の要素(hogeクラス)があるか?
$(".hoge").length;

// チェックボックスがチェックされているかどうか
$("input[type=checkbox]:checked").length;

//ある要素が指定のクラスを持っているか
$("#hoge").hasClass("foo");

//子要素に特定の存在があるか
$("form:has(input)").css("border","1px solid silver");

jQueryのプラグイン(高さ揃え)を書いてみるテスト

Javascriptを使うときにprototype.jsを嗜んでいるのですが
今回仕事でjQueryを使う機会がありまして使ってみました。

セレクタの感触がすごくいいです。
プラグイン形式で機能を増やしていけるそうだったので
prototype.jsで書いたエレメントの高さを揃えるっっていう
スクリプトで練習がてらに書いてみた。

(function($) {
 	$.fn.roll = function() {
		elements = this;
		loop = elements.length;
		max=0;
		for (var i=0; i < loop; i++){
			el = elements[i];
			var h = el.offsetHeight;
			max = Math.max(h, max)
		}
		for (var i = 0; i < loop;  i++ ){
			el = elements[i];
			$(el).css('height',max+'px');
		}
	};
})(jQuery);
こんな感じかな?ちょっと冗長な感じもあるけど、、

こんな感じで使うといいと思うよ。
$(".item").roll();