jQueryを覚えたい!!という方で本屋さんで『すぐにわかるjQuery入門』なる参考書を買っては一週間後にはその話題はタブーになっちゃう方へちょっとした問題集を作ってみようと思います。
もう参考書を買ってわかったつもりとはさよならbyebye♪
これからjQueryやJavaScriptを覚えていきたい方など是非とも!!
alert("Hello,World");
特殊なロジックや記述は不要。基本的にはメソッド単品のみで処理可能レベル
<!-- HTML --> <p id="q01">ときどきweb</p>
$(function(){ $("#q01").css('color','red'); });
<!-- HTML --> <p id="q02">ときどきweb</p>
$(function(){ $("#q02").css({'color':'red','background':'yellow'}); });
<!-- HTML --> <p id="q03"></p>
$(function(){ $("#q03").text("エレン"); });
<!-- HTML --> <p id="q04">エレン</p>
$(function(){ $("#q04").text("駆逐してやるッ!!!"); });
<!-- HTML --> <p id="q05">ときどきweb</p>
$(function(){ $("#q05").html('<a href="http://http://tokidoki-web.com">ときどきweb</a>'); });
<!-- HTML --> <ul id="q6"> <li>リスト1</li> <li>リスト2</li> <li>リスト3</li> </ul>
/* CSS */ .aaa { color:#F00; }
$(function(){ $("#q6").addClass("aaa"); });
<!-- HTML --> <ul id="q07"> <li>リスト1</li> <li>リスト2</li> <li>リスト3</li> </ul>
$(function(){ $("#q06 li").remove(); });
<!-- HTML --> <div class="button">ボタン</div>
/* CSS */ .button { padding: 5px 10px; border:#666 solid 1px; background:#FFF; display:block; width:100px; text-align:center; cursor:pointer; }
$(function(){ $(".button").click(function(){ alert("『クリックしますた』"); }); });
<!-- HTML --> <p id="q09"></p>
$(function(){ var q02 = $("#q02").css("color"); $("#q09").text(q02); });
<!-- HTML --> <p id="q10" class="aaa">めんま、</p>
/* CSS */ .bbb { font-weight:900; font-size:24px; color:#00F; }
$(function(){ $("#q10").click(function(){ $(this).toggleClass("bbb"); }); });
<!-- HTML --> <p id="q10">めんま、</p>
$(function(){ $("#q10").prepend("超平和バスターズ、"); });
<!-- HTML --> <p id="q10">めんま、</p>
$(function(){ $("#q10").append("じんたん、ゆきあつ、つるこ、あなる、ぽっぽ") });
<!-- HTML --> <ul id="q13"> <li>豚は</li> </ul>
$(function(){ $("#q13 li").before("<li>飛べない</li>"); });
<!-- HTML --> <ul id="q13"> <li>豚は</li> </ul>
$(function(){ $("#q13 li").eq(-1).after("<li>ただの豚</li>"); });
<!-- HTML --> <div id="q15"> <p>いいい</p> </div>
$(function(){ $('<p>あああ</p>').prependTo('div #q15'); });
<!-- HTML --> <div id="q15"> <p>いいい</p> </div>
$(function(){ $('<p>ううう</p>').appendTo('div #q15'); });
<!-- HTML --> <p>かかか</p> <div id="q17">#q17</div>
/* CSS */ #q17 { width:100px; height:20px; background:#333; color:#FFF; padding:5px; }
$(function(){ $('<p>ききき</p>').insertBefore('div #q17'); });
<!-- HTML --> <div id="q17">#q17</div>
$(function(){ $('<p>くくく</p>').insertAfter('div #q17'); });
<!-- HTML --> <p id="q19">家畜の豚</p>
/* CSS */ .ccc { padding:10px; border:#000 2px solid; }
$(function(){ $("#q19").wrap('<div class="ccc"></div>'); });
<!-- HTML --> <div class="ccc"> <p id="q20">この支配からの卒業</p> </div>
$(function(){ $("#q20").unwrap('div.ccc'); });
<!-- HTML --> <p class="q21">さささ</p> <p>ししし</p> <p class="q21">すすす</p> <p>せせせ</p> <p class="q21">そそそ</p>
/* CSS */ .ddd { opacity:0.5; background:#F0F; cursor:pointer; }
$(function(){ $("p.q21").wrapAll('<div class="ddd"></div>') });
<!-- HTML --> <p class="q22">たたた</p> <p>ちちち</p> <p class="q22">つつつ</p> <p>ててて</p> <p class="q22">ととと</p>
$(function(){ $("p.q22").wrapInner('<div class="ddd"></div>') });
<!-- HTML --> <p class="q23">ななな</p> <p>ににに</p> <p class="q23">ぬぬぬ</p> <p>ねねね</p> <p class="q23">ののの</p>
$(function(){ $("p.q23").replaceWith('<p>xxx</p>') });
<!-- HTML --> <p class="q24">Q24</p>
/* CSS */ .q24_a { text-decoration:underline; color:#00F; }
$(function(){ $("p.q24").attr("class","q24_a"); });
<!-- HTML --> <p class="q25"><a href="#">ははは</a></p> <p><a href="#">ひひひ</a></p> <p class="q25"><a href="#">ふふふ</a></p> <p><a href="#">へへへ</a></p> <p class="q25"><a href="#">ほほほ</a></p>
$(function(){ $("p.q25 a").removeAttr('href'); });
<!-- HTML --> <p class="q26"><a href="#">ままま</a></p> <p><a href="#">みみみ</a></p> <p class="q26"><a href="#">むむむ</a></p> <p><a href="#">めめめ</a></p> <p class="q26"><a href="#">ももも</a></p>
$(function(){ $("p.q26 a").attr("target","_blank"); });
<!-- HTML --> <p class="q27_a">Q27</p>
/* CSS */ .q27_b{ text-decoration:underline; color:#00F; }
$(function(){ $(".q27_a").toggleClass("q27_b") });
<!-- HTML --> <form> <input type="text" value="入力しないでください"> </form>
$(function(){ $("form input").val("入力してください") });
<!-- HTML --> <p id="q29">Q29</p>
/* CSS */ #q29 { background:#FFF; width:100px; height:100px; }
$(function(){ $("#q29").offset({top:5450,left:800}); });
<!-- HTML --> <p class="button">ぼたん</p> <ul id="q30"> <li>リスト1</li> <li>リスト2</li> <li>リスト3</li> </ul>
/* CSS */ .button { padding: 5px 10px; border:#666 solid 1px; background:#FFF; display:block; width:100px; text-align:center; cursor:pointer; }
$(function(){ $("p.button").click(function(){ $("#q30").empty(); }); });
レベル1(入門編)は以上30問となります。
全問解いていただけた方がいるかは定かではありませんが、ほぼ全問jQueryで用意された関数をひとつだけでかなりマニアックな処理も簡単にできちゃいます。
自分は「jQueryはCSSの延長だ!!!」なんて教えられた事もあり、
jQueryを覚えるための最初の一歩は『jQueryライブラリに用意された関数はどんな事ができるか?』を知る事ではないかと思います。
入門書などではよく"アコーディオンを作ろう!"などはお約束であったりして、
まだfunctionの宣言もわからない人にとってはソ-スコードをそのままコピペして動けばアコーディオンを習得した気分になってしまいがちですが、toggle()
やshow()
・hide()
が果たす役割をしっかり理解すれば、
自ずとアイコン付きアコーディオンくらいで必要な処理など簡単に設計できてしまいます。
このレベル1をクリアできればjQueryはとても便利なライブラリだと実感できるハズです。
ファイル形式はコチラです。
ページを保存していただければ、すぐに配布できます。
これからjQueryを覚えたい人のお手伝いになれれば嬉しいです。
レベル2は近日公開予定です。