覚えておくと捗るjQueryのコードスニペットあれこれ。 | φ(..)メモとして残しておこう…

覚えておくと捗るjQueryのコードスニペットあれこれ。



画像のプリロード


(function($) {
var cache = [];
$.preLoadImages = function() {
var args_len = arguments.length;
for (var i = args_len; i--;) {
var cacheImage = document.createElement('img');
cacheImage.src = arguments[i];
cache.push(cacheImage);
}
}(jQuery);

jQuery.preLoadImages("image1.gif", "/path/to/image2.png");




複数カラムのサイズを高いものに合わせる
var max_height = 0;
$("div.col").each(function(){
if ($(this).height() > max_height) { max_height = $(this).height(); }
});
$("div.col").height(max_height);




レガシーブラウザでHTML5のマークアップを有効にする
(function(){if(!/*@cc_on!@*/0)return;var e = "abbr,article,aside,audio,bb,canvas,datagrid,datalist,details,dialog,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video".split(','),i=e.length;while(i--){document.createElement(e[i])}})()

できたら、ヘッダーにこれを追加しておくと…(ry
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->




URLのGETパラメーターを取得する
$.urlParam = function(name){
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (!results) { return 0; }
return results[1] || 0;
}




フォームでエンターキーを無効にする
$("#form").keypress(function(e) {
if (e.which == 13) {
return false;
}
});



特定の要素にCSSクラスを追加
$('#myelement').addClass('myclass');



特定の要素からCSSクラスを削除
$('#myelement').removeClass('myclass');



特定の要素に、CSSのクラスが適用されているかどうかチェック
$(id).hasClass(class)



jQueryを使ってCSSを切り替える
$('link[media='screen']').attr('href', 'example.css');



要素にHTMLを追加
$('#id').append('追加したい文字列とか');



要素が存在するかどうかを確認
if ($('img').length) {
log('画像、あるよ!');
} else {
log('imgタグとかないし。');
}



要素の親要素を取得する
var id = $("button").closest("div").attr("id");



要素の兄弟要素を取得する
$("div").siblings()



プルダウンメニューからオプションを削除する
$("#selectList option[value='2']").remove();



プルダウンメニューで選んだ内容(valueではなくテキスト)を取得
$('#selectList :selected').text();



テーブルの行の色を交互に変える(ゼブラカラー)
$("tr:odd").addClass("odd");
&
.odd{background-color:#ddd;}



要素の中の子要素を数える
$("#id > div").length