jQuery_DOM操作

DOM(Document Object Model)とは

DOMとは、xmlやhtmlの各要素にアクセスする仕組みのことです。

DOMを操作することによって、表示されたWebサイトを動的に書き換えるなど、要素の値をダイレクトに変更することができます。


Windowオブジェクト

Windowオブジェクトは、WEBブラウザの情報を保持するオブジェクトです。

このWindowオブジェクトにあるdocumentプロパティがdocumentオブジェクトを保持しています。

DOMはdocumentオブジェクトを通して、個々の要素を取得・操作することができます。


// windowオブジェクトを表示する。
<body>
  <script>console.log(window);</script>
</body>

DOM操作

HTML要素(タグやID)に対して、書き換えを行います。

書き換え対象となるHTMLは以下のように用意します。


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
  <script src="plugins/jquery-3.2.1.js"></script>
  <script src="main.js"></script>
  <div id="element">
    <p id=text1>jQuery</p>
    <button id="button">ボタン</button>
  </div>
</body>
</html>

テキストの取得と変更

テキストの取得は「$("セレクター").text();」を用います。

セレクターで指定した要素内のテキストを変更するには「$("セレクター").text("text");」を用います。


$(function(){
  $('#button').on('click', function() {
    // テキストを取得する。
    var buf = $("#text1").text();

    // 文字列を反転する。
    buf = buf.split("").reverse().join("");

    // テキストを変更する。
    $("#text1").text(buf);
  });
})

HTMLの取得と変更

セレクターで指定した要素内のHTMLを変更します。


$(function(){
  $('#button').on('click', function() {
    // HTMLを取得する。
    var buf = $("#text1").html();。

    // HTMLを変更する。
    $("#text1").html("<strong>"+ buf + "</strong>");
  });
})

要素を追加する。

prepend()はセレクターで指定した要素内の先頭にHTMLを追加します。

下記例では、<div element>の直後にHTMLが挿入されます。


$("#element").prepend("<p>prepend!!</p>");

append()はセレクターで指定した要素内の最後にHTMLを追加します。

下記例では、</div>の直前にHTMLが挿入されます。


$("#element").append("<p>append!!</p>");

before()はセレクターで指定した要素の前にHTMLを追加します。


$("#text1").before("<p>before!!</p>");

after()はセレクターで指定した要素の後ろにHTMLを追加します。


$("#text1").after("<p>after!!</p>");

その他DOM操作

セレクターで指定した要素を別の要素で包みます。


$("セレクター").wrap("<h1></h1>");

セレクターで指定した要素を別の要素と置き換えます。


$("セレクター").replaceWith("<h1></h1>");

セレクターで指定した要素を削除します。


$("セレクター").remove();

セレクターで指定した要素の属性を変更します。


$("セレクター").attr("属性名","属性値");

セレクターで指定した要素の属性を削除します。


$("セレクター").removeAttr("属性名");

セレクターで指定した要素にclass属性を追加します。


$("セレクター").addClass("class属性値");

セレクターで指定した要素からclass属性を取除きます。


$("セレクター").removeClass("class属性値");

セレクターで指定した要素のCSSを変更します。


$("セレクター").css("プロパティ","値");


関連ページ