授業第5回
1、jQueryセレクタの練習
すべての要素を選ぶ
メソッドチェインについて。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
h3 {
margin: 0;
}
div,span,p {
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
</style>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("button").click(function(){
var elementCount = $("*").css("border","3px solid red").length;
$("body").append("<h3>" + elementCount + " 個の要素が見つかりました</h3>");
});
});
</script>
</head>
<body>
<div>DIV</div>
<span>SPAN</span>
<p>P <button>Button</button></p>
</body>
</html>
要素セレクタ(特定のタグだけを選択する)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
div,p {
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
div#main {
width: 400px;
}
</style>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("button").click(function(){
$("div,p").css("border","3px solid red");
});
});
</script>
</head>
<body>
<div id="main">
<div id="notMe">
<p>id="notMe" これは選ばれる</p>
</div>
<div id="myDiv">id="myDiv" 選ばれます</div>
<div id="notMe2">
<p>id="notMe" 選ばれる</p>
</div>
<button>Button</button>
</div>
</body>
</html>
クラスセレクタ(クラスを指定して選択する)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
div,span {
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
p.en {
background-color: #FFee33;
}
</style>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("button").click(function(){
$(".select p").css("border","3px solid red");
});
});
</script>
</head>
<body>
<div class="select">
<p>ここが選ばれます</p>
</div>
<div class="myDiv">これは、選ばれません</div>
<div class="select">
<p>ここが選ばれます</p>
</div>
<div class="select">
<p class="en">ここが選ばれます</p>
</div>
<button>Button</button>
</body>
</html>
IDセレクタ (IDのものだけを選択する)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
div,span {
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
</style>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("button").click(function(){
$("#myDiv").css("border","3px solid red");
});
});
</script>
</head>
<body>
<div id="notMe">
<p>id="notMe" これは選ばれないIDです</p>
</div>
<div id="myDiv">id="myDiv" これだけが選ばれます(IDはbody内に一個しか無い)</div>
<div id="notMe2">
<p>id="notMe" これは選ばれません</p>
</div>
<button>Button</button>
</body>
</html>
複数のセレクタ(いくつかの要素やID、クラスなどをカンマ区切りで指定して選択する)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
div,span {
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
</style>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("button").click(function(){
$("#notMe,#notMe2,#myDiv").css("border","3px solid red");
});
});
</script>
</head>
<body>
<div id="notMe">
選ばれます
</div>
<div id="myDiv">選ばれます</div>
<div id="notMe2">
選ばれます
</div>
<button>Button</button>
</body>
</html>
子要素の選択(二つ別々に選ぶ場合、半角区切りで、タグやクラス、IDを書く。一個のまとまりとして選ぶ場合は、「>」で区切る)
どう違うのかは、実行するとよく分かります。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
div {
margin: 10px;
padding: 10px;
background-color: #EEEEEE;
}
</style>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("#t1").click(function(){
$("#notMe div div").css("border","3px solid red");
});
$("#t2").click(function(){
$("#notMe > div > div").css("border","3px solid red");
});
});
</script>
</head>
<body>
<div id="notMe">
<div>
<div>
ここが選ばれます<div>ここも選ばれます</div>
</div>
</div>
<div>ここは選ばれません</div>
</div>
<div id="myDiv">選ばれません</div>
<div id="notMe2">
<p>これは選ばれません</p>
</div>
<button id="t1">Type1</button>
<button id="t2">Type2</button>
</body>
</html>
兄弟要素の選択(例の場合、id="ch"と同じ階層にあるdivをすべて選択)
兄弟要素とは、同じ階層にある要素のことです。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
div,span {
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
</style>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("button").click(function(){
$("div ~ div").css("border","3px solid red");
});
});
</script>
</head>
<body>
<div id="notMe">
<div id="ch">
<div>
選ばれない<div>選ばれない</div>
</div>
</div>
<div>ここが選ばれる</div>
<p>選ばれない</p>
<div>ここが選ばれる</div>
</div>
<button>Button</button>
</body>
</html>
直後の兄弟要素の選択(例の場合、id="ch"の直後の兄弟要素がdivのものを一個選択)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
div,span {
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
</style>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("button").click(function(){
$("#ch + div").css("border","3px solid red");
});
});
</script>
</head>
<body>
<div id="notMe">
<div id="ch">
<div>
選ばれない<div>選ばれない</div>
</div>
</div>
<div>ここが選ばれる</div>
<p>選ばれない</p>
<div>選ばれない</div>
</div>
<button>Button</button>
</body>
</html>
フォームの中の、リストやチェックボックスの「選ばれている項目」の選択。クリックごとに、現在選択されている項目をチェック。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
div,span {
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
</style>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("input:checkbox").click(function(){
var j="";
$("input:checked").each(function(){
j+=$(this).val()+" : " ;
});
$("#mess").html(j);
});
$("select").change(function(){
var j="";
$("option:selected").each(function(){
j+=$(this).val()+" : " ;
});
$("#mess2").html(j);
});
});
</script>
</head>
<body>
<form>
<input type="checkbox" value="yamada" />
<input type="checkbox" value="morita" />
<input type="checkbox" value="kusunoki" />
<input type="checkbox" value="saito" />
<input type="checkbox" value="yamamoto" />
<select multiple="multiple">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
</select>
</form>
<div id="mess"></div>
<div id="mess2"></div>
</body>
</html>
課題1
上の例をjq10〜18.htmlとして、public_html/tomcat/mobile2011に保存して、動作を確認しておいてください。
正常に動くことを確認しておいてください。