jQuery – テキストを取得・変更する『 text() 』

要素内にあるテキストを取得・変更する場合は「text()」を使います。

取得する場合は「text()」、変更する場合は「text(“変更後の文字列”)」を指定します。

//id=#msg内のテキストを取得します。
$("#msg").text();
//id=#msg内のテキストを「文字を変更しました。」に変更します。
$("#msg").text("文字を変更しました。");

サンプル1

jQuery – text サンプル1

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<title>jQuery - text サンプル1</title>
<script type="text/javascript" src="../jquery-1.2.6.min.js"></script>
<script language="JavaScript">
$(function (){
	$("#box1").click(
		function(){
			$(this).text("マウスをはずしてください。");
			$(".msg").text("クリックされました。(#box1内のテキストは「"+$(this).text()+"」)");
		}
	);
	$("#box1").hover(
		function(){
			$(this).text("クリックしてください。");
			$(".msg").text("マウスが乗っています。(#box1内のテキストは「"+$(this).text()+"」)");
		},
		function(){
			$(this).text("マウスを乗せて下さい。");
			$(".msg").text("マウスが外れました。(#box1内のテキストは「"+$(this).text()+"」)");
		}
	);
});
</script>
<style type="text/css">
#box1 {
	width: 150px;
	height: 150px;
	border: 1px solid #cccccc;
	background-color: #efefef;
}
</style>
</head>
<body>
<div id="box1">
マウスを乗せて下さい。
</div>
<p class="msg">まだ何もイベントがありません。</p>
</body>
</html>

「$(this).text()」と記述している場所があると思いますが、英語そのままの「この」という意味合いです。上記のサンプル1の$(this)は「$(“#msg”).click」の中で利用しているので「クリックされたid=msgの」という意味合いになります。thisについては少し説明がムヅカしい(自分自身がなんとなく使ってしまっている…スミマセン)ので、もし理解を深めたい方は下記サイトに、jQueryのthisに関する記事をかかれているのでそちらをご覧くださいませ…。

anything from here jQueryに学ぶJavascriptの基礎(2) this 活用──jQuery解読(17)

もうひとつサンプルを用意しました。

サンプル2

jQuery – text サンプル2

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<title>jQuery - text サンプル2</title>
<script type="text/javascript" src="../jquery-1.2.6.min.js"></script>
<script language="JavaScript">
$(function (){
	var cmArray = new Array("情熱や怒り","堅実や冷静","癒しや調和");
	$("html").css("font-size","2em");
	
	$("li").click(
		function(){
			var cmTxt = cmArray[$("li").index(this)];
			$(".msg").text("『 "+$(this).text()+" 』は"+cmTxt+"を表す色です。");
		}
	);
});
</script>
</head>
<body>
<p class="msg">好きな色をクリックしてください。</p>
<ul>
<li>赤</li>
<li>青</li>
<li>緑</li>
</ul>
</body>
</html>

$(this)については「$(“.msg”).text(“『 “+$(this).text()+” 』は”+cmTxt+”を表す色です。”);」の「$(this).text()」を「$(“li”).text()」に変更して動作を試すと、なるほど!となるやもしれません。

jQuery – text サンプル $("li").text()のサンプル

「$(this).text()」の場合はクリックした場所のテキストのみ表示されますが、「$(“li”).text()」に変更すると「liタグ内のテキスト」がすべて表示されます。$(this).text()は「$(“li”).clickのテキスト=クリックされたliタグのテキスト」という意味合いになり、$(“li”).text()は「HTML内すべてのliのテキスト」という意味合いになります。

thisは利用する場合が多いので、なんとなくでも意味をつかんでおきましょう。

jQueryを使ってみよう。(基本編 イベント)

今回はjQueryのイベントについてです。
イベントとは、例えば「クリックする」「マウスが乗る」など何かの動作をしたときに処理をさせたいときに利用します。

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<title>jQueryを使ってみよう。(基本編 イベント)</title>
<script type="text/javascript" src="../jquery-1.2.6.min.js"></script>
<script language="JavaScript">
$(function (){
	$("#red").click(
		function(){
			$(".msg").css("color","red");
		}
	);
	$("#blue").hover(
		function(){
			$(".msg").css("color","blue");
		},
		function(){
			$(".msg").css("color","");
		}
	);
});
</script>
</head>
<body>
<p id="fcc"><span id="red">[ 赤 ]</span> | <span id="blue">[ 青 ]</span></p>
<p class="msg">上の[ 赤 ]をクリック、[ 青 ]にマウスを乗せると文字の色が変わります。</p>
</body>
</html>

サンプル

サンプルでは、クリックしたとき、マウスが乗ったときに処理を行うような記述をしています。

クリックしたときに処理を行う場合は「click」を使います。

… 省略 …
	//id=redがクリックされたら…
	$("#red").click(
		function(){
			//処理
		}
	);
… 省略 …

上記のように、どの場所($(“#red”))がクリック(click)されたら(function(){ //処理 })処理をするという記述方法になります。イベントを利用する場合は処理する内容を『function(){}』で囲むことを忘れないようにしてください。

マウスが乗ったときに処理を行う場合は「hover」を使います。

「hover」は「マウスが乗った」場合の処理、「マウスが離れた」場合の処理の2つを記述します。はじめに乗ったときの処理を記述し、次に離れたときの処理を記述します。

… 省略 …
	//id=blueにマウスが乗ったら…
	$("#blue").hover(
		function(){
			//乗ったときの処理
		},
		function(){
			//離れたときの処理
		}
	);
… 省略 …

このようにイベントを利用すると「何かしたときに処理をする」という条件を追加できるようになります。

「click」や「hover」以外にもさまざまなイベントが用意されていますので、チェックしていろいろ試してみて下さい。

Events – jQuery 1.2.6 日本語リファレンス

 

さて今回で基本編は今回で終わりです。書き方の基本がわかれば、暗合のようだったものがなんとなくわかるような気がしませんか?
次回からはテキストを変更したり、HTMLタグを書き換えるといったメソッドがたくさん用意されているので、これらを少しずつ勉強していきます。

またjQueryにはプラグインと呼ばれるさまざまな機能を追加するためのプログラムがたくさん配布されています。これらを利用することで、面白い機能や実用的な機能を簡単にホームページに追加することができます。ブログで紹介していたりされていたり、いろいろなプラグインを集めたサンプルサイトなどもたくさんあるので、いろいろ探して「これは!」と思うものがあれば実際に導入してみましょう。

jQueryサンプル集 – DesignWalker
jQuery 146 Plugins:skuare.net

ではこのへんで。

jQueryを使ってみよう。(基本編 メソッド)

今回はメソッドについて説明していきます。
メソッドといわれると「何?」って感じですが、大雑把に「その対象に対して行う命令」と覚えておいて下さい。
例えば車でアクセルを踏むと動きます。これはアクセルに「踏むと車を動かす」という命令が車の仕組みとして組み込まれているからです。
jQueryにも「こう書けば、こういう命令をする」という予め組み込まれた命令(メソッド)が用意されています。まずこのメッソドの書き方を覚えていきましょう。

ではテーブル(表組)の見た目をjQueryで変えてみます。

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<title>jQueryを使ってみよう。(基本編 メソッド)</title>
<script type="text/javascript" src="../jquery-1.2.6.min.js"></script>
<script language="JavaScript">
$(function (){
	$("th").css({"color":"#ffffff","background":"#000000"})
		.css({"font-size":"14px"});
	$("th,td").css({"padding":"6px"});
	$("tr:even").css({"background":"#dddddd"});
	$("tr:odd").css({"background":"#fafafa"});
});
</script>
</head>
<body>
<table>
<tr>
<th>書籍名</th><th>著者</th><th>価格</th>
</tr>
<tr>
<td>デザインのデザイン</td><td>原 研哉</td><td>¥ 1,995 (税込)</td>
</tr>
<tr>
<td> なぜデザインなのか。 </td><td>原 研哉/阿部 雅世</td><td>¥ 1,890 (税込)</td>
</tr>
<tr>
<td>  HAPTIC —五感の覚醒  </td><td>株式会社竹尾 原研哉+日本デザインセンター原デザイン研究所</td><td>¥ 3,990 (税込)</td>
</tr>
<tr>
<td>原研哉のデザイン</td><td>アイデア編集部</td><td>¥ 1,890 (税込) </td>
</tr>
</table>
</body>
</html>

サンプル

サンプルではHTML、CSSでまったく見た目の変更は指定していませんが背景に色がついたりと見た目が変更されています(サンプルでは行を少し増やしています)。

$("th").css({"color":"#ffffff","background":"#000000"});

上記は『$(“th”)=thタグ』に『css({“color”:”#ffffff”,”background”:”#000000″})=「color:#ffffff」「background:#000000」のスタイルを適用しなさい』という意味になります。

このようにメソッドは処理をする要素を指定($(“th”))した後に「 . (ドット)」を入れてつなげます。

またメソッドはいくつもつなげて利用することができます。これをメソッドチェーンといます。複数つなげる場合も下記のように「 . (ドット)」でつなげていきます。

$("th").css({"color":"#ffffff","background":"#000000"})
		.css({"font-size":"14px"});

またサンプルの例ではセレクタに「tr:even」「tr:odd」を指定していますが、「tr:even=奇数番目のtr」「tr:odd=偶数番目のtr」という意味になります。こう指定することで、どれだけ行を増やしていっても交互に色がかわるテーブルになります。

今回は「メソッド」の書き方を説明していきましたが、「セレクタ」「メソッド」をあわせて、なんとなく読めるようになったと思います。

$("p#msg").text("こんにちは。");

例えば上記の場合「id=msgと指定されたpタグ」に「text」というメソッドがつながっている。これがわかればマニュアルを見て「text」が何の命令をしてるのかを確認すれば、「text=テキストを設定する」となっていので、「id=msgと指定されたpタグ」に「こんにちは。というテキストを設定しろ」と書いていることがわかります。

ここまでくればマニュアルも活用できると思いますので、興味がある方はどんなことができるのかどんどんマニュアルで調べていろいろ試してみて下さい。

jQuery 1.2.6 日本語リファレンス

あと基本として覚えておくべきものとして「イベント」があります。例えば「マウスが乗ったときに」「クリックされたときに」など、「何かをしたときに」処理をする、といった条件をつけたい場合があります。「マウスが乗ったら画像を変更する」場合などに、この「イベント」を利用します。

ということで次回は基本編の最後「イベント」について勉強していきます。