jQuery は、簡潔な構文とクロスプラットフォーム互換性により、開発者による HTML ドキュメントの走査、DOM の操作、イベントの処理、アニメーションの実行、および Ajax 操作の開発を大幅に簡素化する優れた JavaScript ライブラリです。
jQuery の利点:
1.軽量
2. 強力なセレクター
3. DOM 操作の優れたカプセル化
4. 信頼性の高いイベント処理メカニズム
5. 完璧な Ajax
6. 最上位の変数を汚染しないでください
7. 優れたブラウザ互換性
8. チェーン動作モード
9. 暗黙的な反復
10. 行動層と構造層の分離
11. 豊富なプラグインのサポート
12. 完全なドキュメント
13. オープンソース
(1) 簡単な jQuery コードを記述します:
注: $ は jQuery の略称です。
<!-- 引入 jQuery --> <script src="../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function () { //等待DOM元素加载完毕.(可能DOM元素关联的文件没有加载完) alert("Hello World!"); //弹出一个框 }); $(document).ready(function () { //可以同时编写多个 alert("Hello again!"); }); $(function () { //简写形式 alert("Hello jQuery!"); }); </script>
(2) jQuery コードスタイル
注: チェーン操作。
1. 同じオブジェクトに対する操作は 1 行に 3 つまで記述できます。
2. 同じオブジェクトに対して多数の操作がある場合は、1 行に 1 つの操作を記述することをお勧めします。
3. 複数のオブジェクトに対する少数の操作の場合、サブ要素が関係する場合は、適切なインデントを考慮してください。
4. 複数のオブジェクトに対するさらに多くの操作を行うには、2 つまたは 3 つを組み合わせることができます。
必要なコメントを追加します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>1-4-3</title> <style type="text/css"> #menu { width:300px; } .has_children{ background : #555; color :#fff; cursor:pointer; } .highlight{ color : #fff; background : green; } div{ padding:0; } div a{ background : #888; display : none; float:left; width:300px; } </style> <!-- 引入 jQuery --> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> //等待dom元素加载完毕. $(document).ready(function(){ $(".has_children").click(function(){ $(this).addClass("highlight") //为当前元素增加highlight类 .children("a").show().end() //将子节点的a元素显示出来并重新定位到上次操作的元素 .siblings().removeClass("highlight") //获取元素的兄弟元素,并去掉他们的highlight类 .children("a").hide(); //将兄弟元素下的a元素隐藏 }); }); </script> </head> <body> <div id="menu"> <div class="has_children"> <span>第1章-认识jQuery</span> <a>1.1-JavaScript和JavaScript库</a> <a>1.2-加入jQuery</a> <a>1.3-编写简单jQuery代码</a> <a>1.4-jQuery对象和DOM对象</a> <a>1.5-解决jQuery和其它库的冲突</a> <a>1.6-jQuery开发工具和插件</a> <a>1.7-小结</a> </div> <div class="has_children"> <span>第2章-jQuery选择器</span> <a>2.1-jQuery选择器是什么</a> <a>2.2-jQuery选择器的优势</a> <a>2.3-jQuery选择器</a> <a>2.4-应用jQuery改写示例</a> <a>2.5-选择器中的一些注意事项</a> <a>2.6-案例研究——类似淘宝网品牌列表的效果</a> <a>2.7-还有其它选择器么?</a> <a>2.8-小结</a> </div> <div class="has_children"> <span>第3章-jQuery中的DOM操作</span> <a>3.1-DOM操作的分类</a> <a>3.2-jQuery中的DOM操作</a> <a>3.3-案例研究——某网站超链接和图片提示效果</a> <a>3.4-小结</a> </div> </div> </body> </html>
(3) DOM オブジェクトと jQuery オブジェクト
DOM (Document Object Model、Document Object Model)、各 DOM はツリーとして表現できます。 JavaScript で getElementById または getElementByTagName を使用して、要素ノードを取得します。このような DOM 要素は DOM オブジェクトです。
jQuery オブジェクトは、DOM オブジェクトを jQuery でラップすることで生成されるオブジェクトです。 jQuery オブジェクトは jQuery に固有のメソッドです。jQuery のメソッドは使用できますが、DOM オブジェクトのメソッドは使用できません。
注: jQuery オブジェクトはすべて、jQuery オブジェクト製造ファクトリーである $() 関数を通じて製造されます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>1-4</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- 引入 jQuery --> <script src="../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> //等待dom元素加载完毕. $(document).ready(function () { var domObj = document.getElementsByTagName("h3")[0]; // Dom对象 var $jQueryObj = $(domObj); //jQuery对象 alert("DOM对象:" + domObj.innerHTML); alert("jQuery对象:" + $jQueryObj.html()); }); </script> </head> <body> <h3>例子</h3> <p title="选择你最喜欢的水果.">你最喜欢的水果是?</p> <ul> <li>苹果</li> <li>橘子</li> <li>菠萝</li> </ul> </body> </html>
DOM オブジェクトと jQuery オブジェクトは相互に変換できます。例は次のとおりです。
1.DOM オブジェクト メソッド
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>1-6-2</title> <!-- 引入 jQuery --> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> //等待dom元素加载完毕. $(document).ready(function () { var $cr = $("#cr"); //jQuery对象 var cr = $cr.get(0); //DOM对象获取 2种方式 $cr[0] 或者 $cr.get(0) $cr.click(function () { if (cr.checked) { //DOM方式判断 alert("感谢你的支持!你可以继续操作!"); } }) }); </script> </head> <body> <input type="checkbox" id="cr" /> <label for="cr">我已经阅读了上面制度.</label> </body> </html>
2.jQuery オブジェクト メソッド
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>1-6-1</title> <!-- 引入 jQuery --> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> //等待dom元素加载完毕. $(document).ready(function () { var cr = document.getElementById("cr"); //DOM对象 var $cr = $(cr); //jQuery对象 $cr.click(function () { if ($cr.is(":checked")) { //jQuery方式判断 alert("感谢你的支持!你可以继续操作!"); } }) }); </script> </head> <body> <input type="checkbox" id="cr" /> <label for="cr">我已经阅读了上面制度.</label> </body> </html>
上記は jquery 学習に関する最初のレッスンです。引き続き注目していただければ幸いです。