ようそいじり
要素の属性についてやっていきました。
今回は要素自体に対してのアレコレや
要素の内側に対しての操作となります。
要素と要素が内包している部分
html([変更要素])
要素の中のHTMLを取得します。
引数を指定する事で、中身を入れ替える事ができますy
/*
<div id="hiei">
<p>ひぇええええええ</p>
<p>ひぇええええええ</p>
</div>
*/
$('.hoge').html();
/*
<p>ひぇええええええ</p>
<p>ひぇええええええ</p>
が取得される
*/
$('.hoge').html('<p>あいほんろく</p>');
/*
<div id="hiei">
<p>あいほんろく</p>
</div>
となる
*/
append([追加エレメント])
指定要素の末尾に追加します。
/*
<div id="hiei">
<p id="hoge">ひぇええええええ</p>
<p>ひぇええええええ</p>
</div>
*/
$('#hoge').append('アッー');
/*
<div id="hiei">
<p id="hoge">ひぇええええええ><span>アッー</span></p>
<p>ひぇええええええ</p>
</div>
となる
*/
appendTo([追加先エレメント])
指定要素を追加先エレメントの末尾に追加します。
要素ごとまるまる移動する形となります。
/*
<div id="hiei">
<p id="hoge">ひぇええええええ</p>
<p>ひぇええええええ</p>
</div>
<div id="hiei2">
あいうえお
</div>
*/
$('#hoge').appendTo('#hiei2');
/*
<div id="hiei2">
あいうえお
<div id="hiei">
<p id="hoge">ひぇええええええ</p>
<p>ひぇええええええ</p>
</div>
</div>
となる
*/
prepend([追加エレメント])
指定要素の先頭に追加します。
/*
<div id="hiei">
<p id="hoge">ひぇええええええ</p>
<p>ひぇええええええ</p>
</div>
*/
$('#hoge').append('アッー');
/*
<div id="hiei">
<p id="hoge"><span>アッー</span>ひぇええええええ></p>
<p>ひぇええええええ</p>
</div>
となる
*/
prependTo([追加先エレメント])
指定要素を追加先エレメントの先頭に追加します。
要素ごとまるまる移動する形となります。
appendToの前後逆バージョンですね。
/*
<div id="hiei">
<p id="hoge">ひぇええええええ</p>
<p>ひぇええええええ</p>
</div>
<div id="hiei2">
あいうえお
</div>
*/
$('#hoge').appendTo('#hiei2');
/*
<div id="hiei2">
<div id="hiei">
<p id="hoge">ひぇええええええ</p>
<p>ひぇええええええ</p>
</div>
あいうえお
</div>
となる
*/
height()
指定要素の高さを取得します。
margin、padding、borderは含まず、純粋なコンテンツの高さを取得します。
$('#hoge').height();
innerHeight()
指定要素の高さを取得します。
【paddingは含む】が【borderは含まれない】の高さを取得します。
$('#hoge').innerHeight();
outerHeight()
指定要素の高さを取得します。
【paddingとborderを含む】高さを取得します。
$('#hoge').outerHeight();
width()
指定要素の横幅を取得します。
margin、padding、borderは含まず、純粋なコンテンツの横幅を取得します。
$('#hoge').width();
innerWidth()
指定要素の横幅を取得します。
【paddingは含む】が【borderは含まれない】の横幅を取得します。
$('#hoge').innerHeight();
outerWidth()
指定要素の横幅を取得します。
【paddingとborderを含む】横幅を取得します。
$('#hoge').outerHeight();
offset()
指定要素の表示位置を取得します。
オブジェクトで分けて値を取得することができます。(後述)
$('#hoge').offset();
offset().top
指定要素の表示位置を取得します。
サイトの一番上(Document)からのpx数の距離となります。
alert($('#hoge').offset().top);
// または
var offset = $('#hoge').offset()
alert(offset.top);
offset().left
指定要素の表示位置を取得します。
サイトの一番左端(Document)からのpx数の距離となります。
leftの場合、ブラウザサイズによって値が変化してしまう事があります。
alert($('#hoge').offset().left);
// または
var offset = $('#hoge').offset()
alert(offset.left);
remove([セレクタ])
セレクタにマッチする指定要素を削除します。
引数を指定しない場合は、指定要素が対象になります。
そして要素ごと消します。
$('.test').remove('p');
// こうすると、testクラスがついているpタグが対象となります。
empty()
こちらも削除系なのですが
こちらは内包している要素を削除します。
指定した要素は生き残ります。
$('.test').empty();
// 以下のような動作になります。
<div id="hiei">
<p>ひぇええええええ</p>
</div>
↓
$('#hiei').empty();
↓
<div id="hiei">
</div>
練習問題的な
-
1:クラス名の書き換え
適当につけたクラス名を削除し、別のクラス名を再度つけてみましょう。
※ヒント:メソッドチェーンで、できます。つなげる事ができるのです。 -
2:hrefの書き換え
hrefの書き換えを行ってみましょう。 -
3:クラス名の判定と処理
class:[test]がついている要素のみ、testクラスを削除し、別クラス名をつけてあげます。
※ヒント;if文で分岐させます。