~説明~
jQueryの要点を★回に渡って紹介する。
今回は『その1』としてjQueryの基本中の基本であるセレクタと主要メソッドを紹介する。
次回は要素の追加、変更、削除を紹介する予定。
◆セレクタ
jQueryでは「セレクタ」を用いて要素を指定する。
型セレクタ
要素名で指定する。
$('div'); // すべての<div>を指定
$('p');   // すべての<p>を指定
IDセレクタ
要素のID属性の値を用いて指定する。
$('#userId');    // id="userId"が指定された要素を指定
$('div#userId'); // <div id="userId">を指定
クラスセレクタ
各要素のclass属性に同一値(文字列)を含むものを指定する。クラスセレクタでは空白ごとに区切られた部分を1つの値として扱う。
$('.top');    // class="top"が指定されたもの&class属性値に空白で区切られた"top"が含まれる要素を指定
$('div.top'); // <div class="top">が指定されたもの&class属性値に空白で区切られた"top"が含まれる要素を指定
$('.top.munu'); // class="top menu">が指定されたもの
擬似クラス
要素の状態や位置などを表す際に指定する。
$(':focus'); // フォーカスが当たっている要素(IE9のデフォルトは<body>)
$(':checked'); // checked属性を持つ要素
独自拡張セレクタ
| セレクタ | 重要度 | 対象 | 
|---|---|---|
| :hedder | ★★ | 見出し <h1>~<h6> | 
| :visible | 画面に表示されている要素 | |
| :hidden | ★ | 画面に表示されていない要素 | 
| :animated | アニメーションが動作している要素 | |
| :parent | ★ | 子要素やテキスト要素を持つ要素 | 
| :has(セレクタ) | ★★ | 指定したセレクタで表された子要素を持つ要素 | 
| :input | ★★★ | 入力可能な要素 <input>, <select>, <textarea>, <button> | 
| :submit | ★ | 送信ボタン <input type = "submit">, <button> | 
| :image | ★★★ | 画像による送信ボタン <input type = "image"> | 
| :reset | ★ | 取り消しボタン <input type = "reset">, <button type = "reset"> | 
| :button | ★ | ボタン <input type = "button">, <button> | 
| :checkbox | ★★★ | チェックボックス <input type = "checkbox"> | 
| :radio | ★★★ | ラジオボタン <input type = "radio"> | 
| :file | ★ | アップロードするファイル <input type = "file"> | 
| :password | ★★ | パスワード <input type = "password"> | 
| :text | ★★ | テキスト入力 <input type = "text">, typeが省略された<input> | 
| :selected | ★★★ | <select>内の <option selected> | 
◆親・子要素で絞り込む
親要素で絞り込む
| メソッド | 説明 | 
|---|---|
| parent([セレクタ]) | 親要素 セレクタが指定されている場合は、それに適合する要素に限定 | 
| parents([セレクタ]) | 祖先要素 セレクタが指定されている場合は、それに適合する要素に限定 | 
子要素で絞り込む
| メソッド | 説明 | 
|---|---|
| children([セレクタ]) | 子要素 セレクタが指定されている場合は、それに適合する要素に限定 | 
| contents() | テキストやコメントも含めたすべての子要素 | 
$('div').children('ul');
$(ul#main-mune').contents;
小孫要素に絞り込む
| メソッド | 説明 | 
|---|---|
| find(セレクタ/DOMオブジェクト/$(...)) | 引数に適合するすべての子孫要素 | 
◆属性やプロパティ操作
属性を操作するメソッド
| メソッド | 説明 | 
|---|---|
| attr(属性名) | 指定した属性の値を取得 $(...)で指定された要素が複数ある場合は、最初に指定された要素が対象となる | 
| attr(属性名, 値) | 指定した属性に値を設定 | 
| attr(オブジェクト) | 複数の属性を同時に指定 | 
| attr(属性名, 関数) | 指定した属性に関数の戻り値を設定 関数=コールバック関数 | 
| removeAttr(属性名) | 指定した属性を削除 | 
プロパティを操作するメソッド
| メソッド | 説明 | 
|---|---|
| prop(プロパティ名) | 指定したプロパティの値を取得 | 
| prop(プロパティ名, 値) | 指定したプロパティの値を設定 | 
| prop(オブジェクト) | 複数のプロパティの値を同時に設定 | 
| prop(プロパティ名, 関数) | プロパティの値に関数の戻り値を設定 | 
| removeProp(プロパティ名) | 指定したプロパティを削除 | 
value属性の値を操作するメソッド
| メソッド | 説明 | 
|---|---|
| val() | value属性の値を取得 | 
| val(値) | value属性の値を設定 | 
| val(関数) | value属性の値に関数の戻り値を設定 | 
CSSプロパティを操作するメソッド
| メソッド | 説明 | 
|---|---|
| cscs(プロパティ名) | 指定したプロパティの値を取得 | 
| css(プロパティ名, 値) | 指定した文字列をプロパティの値として設定 | 
| css(オブジェクト) | 複数のプロパティを同時に設定 | 
| css(プロパティ名, 関数) | プロパティの値に関数の戻り値を設定 | 
上記で説明したセレクタやメソッドを使用したサンプル
jQuery(JavaScript)部分
<script type="text/javascript"> 
	$(function(){
		
		// *****************************************************************	
		// id = "btnSelectPropSet"のボタン押下時の処理
		// *****************************************************************
		$('#btnSelectPropSet').click(function(){
			// id = "fruitValues"のmultiplepプロパティがfalseの場合
			if ($('#fruitValues').prop('multiple') == false){
			
				// id = "fruitValues"のmultiplepプロパティにtrueを設定
				$('#fruitValues').prop('multiple', true);
			
			// 上記以外の場合
			}else{
			
				// id = "fruitValues"のmultiplepプロパティにfalseを設定
				$('#fruitValues').prop('multiple', false);
			}
		});
	
		// *****************************************************************	
		// id = "btnSelectPropSet"のボタン押下時の処理
		// *****************************************************************
		$('#btnValSet').click(function(){
			// 独自セレクタ(:text)を用いて<input type = "text">のval値を設定
			$(':text').val('hogehogeText');
			
			// 独自セレクタ(:hidden)を用いて画面に表示されていない要素のval値を設定
			$(':hidden').val('hogehogeHideen');
			
			// 型セレクタ(textarea)を用いて<textarea>タグのval値を設定
			$('textarea').val('hogehogeTextarea');
			
		});
	
		// カウンタ
		var ctr = 0;
		// *****************************************************************	
		// id = "btnMsgView01"のボタン押下時の処理
		// *****************************************************************
		$('#btnMsgView01').click(function(){
			ctr = ctr + 1;
			$('<p id = p_msg_' + ctr + ' class = "pmsg">(' + ctr + ')ボタンがクリックされました</p>').appendTo('#main');
			$('<a id = a_link_' + ctr + ' href ="https://www.yahoo.co.jp/">yahooへ</a>').appendTo('#main');
			// <a>タグの'target'属性に'_blank'を設定(=新しいウィンドウで開く)
			$('a').attr('target', '_blank');
		});
		
		// *****************************************************************	
		// id = "btnMsgCrear01"のボタン押下時の処理
		// *****************************************************************
		$('#btnMsgCrear01').click(function(){
			ctr = 0;
			
			// クラスセレクタを使用してclass = "pmsg"のものを削除
			$('.pmsg').remove();
			// 型セレクタを使用して <a>タグを削除
			$('#main a').remove();
		});
		// *****************************************************************	
		// id = "btnSelectPropSet"のボタン押下時の処理
		// *****************************************************************
		$('#btnMsgColorChange01').click(function(){
			
			// 文字色が黒の場合、青文字に設定
			if ($('.pmsg').css('color') == "rgb(0, 0, 0)") {
				$('.pmsg').css('color', 'blue');
			
			// 上記以外かつ文字色が青の場合、赤文字に設定
			}else if ($('.pmsg').css('color') == "rgb(0, 0, 255)") {
				$('.pmsg').css('color', 'red');
			
			// 上記以外(=赤)の場合、黒文字に設定
			}else {
				$('.pmsg').css('color', 'black');
			}
		});
		
	});		
</script>
HTML部分
汚いHTMLで申し訳ないが、参考になれば…
see_no_evil
<html>
<head>
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></script>
		<script type="text/javascript"> 
		  // ここにjQueryが来る
		</script>
	</head>
	<body>
		<div id = "main">
			
			<input id = 'btnSelectPropSet' type = 'button' value = "セレクトボックスのmultipleプロパティを変更" />
		
			<p>好きな果物:
			    <select id = "fruitValues" name="fruit">
				    <option value="1">リンゴ</option>
				    <option value="2">みかん</option>
				    <option value="3">グレープフルーツ</option>
				    <option value="4">桃</option>
				    <option value="5">メロン</option>
			    </select>
			</p>
			<br>
			
			<p>val関数の検証</p>
			    <input id = 'btnValSet' type = 'button' value = "value属性の変更" />
			<p>Text:
			    <input type = "text" id = "inputText01" value= "defalutValueText">
			</p>
			<p>Hidden:
			    <input type = "hidden" id = "inputHidden01" value= "defalutValueHidden">
			</p>
			<p>Textarea:
			    <textarea id = "inputTextarea01">defalutValueTextarea1</textarea>
			    <textarea id = "inputTextarea02">defalutValueTextarea2</textarea>
			</p>
			
			<input id = 'btnMsgView01'  type = 'button' value = "クリックでメッセージ表示" />
			<input id = 'btnMsgCrear01' type = 'button' value = "クリックでメッセージクリア" />
			<input id = 'btnMsgColorChange01'  type = 'button' value = "クリックでメッセージの文字色を変更" />
		</div>
	</body>
</html>
以上