必要な知識
・CSSセレクタの基礎
・javascriptの基礎
Sizzle.jsだけを使うメリット
・jQueryを使わないので、$関数使うよりもちょっとだけ早い
・jQueryのメソッドを覚えるのが辛い開発者が喜ぶ
今回作る関数
「switch」ボタンで、偶数行の背景色を交互に変えてくれる関数
Demo:
http://shinya-api.appspot.com/demo/js/sizzle/
作る
1.Sizzle.jsをダウンロード
Google codeから。
2.HTMLファイルを用意し、Sizzle.jsを読みこむ
3.Sizzle.jsを使って、DOM要素を取得する
Sizzle.jsのSizzle関数は、引数に渡したCSSセレクタを解析して、DOM要素を返してくれます。
今回はCSS 3のセレクタ「:nth-child」で指定したDOM要素をSizzle関数の引数に渡します。
※「:nth-child」は、ここに詳しく載ってます。
var elem = Sizzle('.oddAndEven li:nth-child(odd)');
4.3で取得したDOM要素の背景色をjsを使って変える
var changeOddBg = function() {
var elem = Sizzle('.oddAndEven li:nth-child(odd)');
var flg = true;
// 奇数回クリックされたときに呼ばれる関数
function odd(){
for (var i = 0; i < elem.length; i++) {
elem[i].style.background = '#acacac';
}
return false;
}
// 偶数回クリックされたときに呼ばれる関数
function even() {
for (var i = 0; i < elem.length; i++) {
elem[i].style.background = '#ffffff';
}
return true;
}
return {
toggle:function() {
flg = flg ? odd() : even();
}
};
}();
あとは、 onclick="changeOddBg.toggle();"とかで呼んでやればオッケーです。