text()で、テキストの取得・変更ができましたが、HTMLのタグを含むテキストの変更をする場合は、html()という命令を使用します。
HTMLの変更
HTMLを変更するには、html(...)の内側に変更後のHTMLを書きます。
サンプルコードみて頂ければ分かりますが、「これからhtml()で変更する。」という物が変わっているのが分かります。
HTMLの取得
値を取得するには「$("p#test1").html()」というようにhtml()で取得します。前回紹介したtext()と同様です。
HTMLの挿入
html()を使用すると、もともと存在していた要素の内容が全て上書きされてしまいます。
要素の内容を残したままでHTMLに追加するときは、要素を挿入する以下の命令prepend(),append(),before(),after()を使用します。
prepend()
指定した要素内部の先頭にHTMLを挿入するには、prepend()という命令を使います。html()と同様に追加したいHTMLを括弧内に書きます。
append()
指定した要素内部の最後にHTMLを挿入するには、append()という命令を使います。追加したいHTMLを括弧内に書きます。
before()
指定した要素の前にHTMLを挿入するには、before()を使います。
after()
指定した要素の後にHTMLを挿入するには、before()を使います。
HTMLの移動
HTMLの要素を文内に新たに追加をするものではなく、もともと存在していた要素を文書内の位置を変更することができます。
prependTo()
指定した要素を他の要素の内部の先頭に移動させるには、prependTo()命令を使います。括弧内に移動先の要素をセレクターで指定します。
appendTo()
指定した要素を他の要素の最後の先頭に移動させるには、appendTo()命令を使います。括弧内に移動先の要素をセレクターで指定します。
insertBefore()
指定した要素を他の要素の前に移動したいときは、insertBefore()使います。
insertAfter()
指定した要素を他の要素の後に移動したいときは、insertAfter()使います。
実行結果はこちらです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>jQueryStudy</title> <style> *{margin:0;padding:0;} #container{ width:640px; height:400px; margin:0 auto;} p{ border:1px solid black; background-color:bisque; width:450px; height:60px; } </style> <script src="js/jquery-1.11.3.js"></script> </head> <body> <div id="container"> <br> <p id="test1">これからhtml()で変更する。</p> <p id="test2"></p> <p id="test3"></p> </div><!--contatiner--> <script> $(document).ready(function(){ //p#test1の箇所を変更する。 $("p#test1").html("ここを<strong>変更しました。</strong>"); //p#test1の値を取得して、その情報をp#test2に設定する。 $("p#test2").html($("p#test1").html()); //先頭に文字列を挿入する $("p#test1").prepend("先頭に文字を挿入!"); //最後に文字列を挿入する $("p#test1").append("最後に文字を挿入!"); //HTMLの要素内の先頭へ移動 $("p#test2 strong").prependTo("p#test3"); //HTML要素の後ろに挿入 $("p#test3 strong").appendTo("p#test2"); //指定した要素の前に挿入 $("p#test1").before("指定した要素の前に挿入<br>"); //指定した要素の後に挿入 $("p#test1").after("指定した要素の後に挿入<br>"); //HTML要素の前に移動 $("p#test3").insertBefore("p#test1"); //HTML要素の後に移動 $("p#test2").insertAfter("p#test3"); }); </script> </body> </html> |