diff --git a/src/pages/js/060-edit-html-from-js.mdx b/src/pages/js/060-edit-html-from-js.mdx
new file mode 100644
index 0000000..6995a88
--- /dev/null
+++ b/src/pages/js/060-edit-html-from-js.mdx
@@ -0,0 +1,129 @@
+---
+layout: "@/layouts/MarkdownLayout.astro"
+---
+
+import RenderFile from "@/components/RenderFile";
+import RenderHtml from "@/components/RenderHtml";
+
+export const title = "JavaScriptでHTMLを操作する";
+
+# {title}
+
+## TOC
+
+HTML要素を取得して、イベントを設定するところまで学習しました。
+しかし、これだけでは「ボタンを押したらアラートが出る」くらいのことしかできません。
+
+もっとWebページらしく、動的に画面の表示が変わるようにしてみましょう!
+
+
+
+## HTMLの中身を書き換える
+
+まずは、画面に表示されている文字を書き換えてみましょう。
+
+```html file=src/sample/js/edit-content.html
+src/sample/js/edit-content.html
+内容を取得できませんでした
+```
+
+
+
+ボタンを押すと、`こんにちは!`が`こんばんは!`に変わりましたね。
+
+コードを見てみましょう。
+
+```html file=src/sample/js/edit-content.html {9}
+src/sample/js/edit-content.html
+内容を取得できませんでした
+```
+
+重要なのは `text.textContent = "こんばんは!"` の部分です。
+取得した要素の `textContent` というプロパティに、新しい文字列を代入することで、表示されている文字を書き換えることができます。
+
+### innerHTML
+
+文字だけでなく、HTMLタグも含めて書き換えたい場合は `innerHTML` を使います。
+
+```js
+// 太文字になる
+element.innerHTML = "こんばんは!";
+```
+
+ただし、`innerHTML` はセキュリティ上のリスク(XSSなど)があるため、単に文字を書き換えるだけであれば `textContent` を使うのが基本です。
+
+
+
+## スタイルを変更する
+
+次は、JavaScriptからCSSを操作して、色や大きさを変えてみましょう。
+
+```html file=src/sample/js/change-style.html
+src/sample/js/change-style.html
+内容を取得できませんでした
+```
+
+
+
+ボタンを押すと文字が赤くなり、太字になりました。
+
+```html file=src/sample/js/change-style.html {9-10}
+src/sample/js/change-style.html
+内容を取得できませんでした
+```
+
+`text.style.color = "red"` のように、要素の `style` プロパティを通じてCSSを操作できます。
+
+注意点として、CSSのプロパティ名が少し変化します。
+CSSでは `font-weight` のようにハイフン区切り(ケバブケース)ですが、JavaScriptでは `fontWeight` のようにcamelCase(キャメルケース)になります。
+
+- `background-color` → `backgroundColor`
+- `font-size` → `fontSize`
+- `margin-top` → `marginTop`
+
+
+
+## クラスを操作する
+
+スタイルを直接 `style` で書き換えるのも良いですが、変化させたいスタイルが多いと大変です。
+あらかじめCSSでクラスを用意しておき、JavaScriptでそのクラスをつけ外しする方が一般的です。
+
+```html file=src/sample/js/toggle-class.html
+src/sample/js/toggle-class.html
+内容を取得できませんでした
+```
+
+
+
+`classList` という機能を使うと、クラスの追加や削除が簡単にできます。
+
+```html file=src/sample/js/toggle-class.html {17}
+src/sample/js/toggle-class.html
+内容を取得できませんでした
+```
+
+`classList` には以下のようなメソッドがあります。
+
+- `add("クラス名")`: クラスを追加する
+- `remove("クラス名")`: クラスを削除する
+- `toggle("クラス名")`: クラスがあれば削除し、なければ追加する
+
+今回の例では `toggle` を使っているので、ボタンを押すたびに背景色がついたり消えたりしています。
+
+
+
+## まとめ
+
+JavaScriptを使ってHTMLを操作する基本的な方法を見てきました。
+
+1. `textContent` で文字を書き換える
+2. `style` で見た目を直接変える
+3. `classList` でクラスを付け外しして見た目を変える
+
+これらを組み合わせることで、ユーザーの操作に合わせて動的に変化するWebページを作ることができます。
diff --git a/src/sample/js/change-style.html b/src/sample/js/change-style.html
new file mode 100644
index 0000000..bb9711b
--- /dev/null
+++ b/src/sample/js/change-style.html
@@ -0,0 +1,12 @@
+
文字の色が変わります
+ + + diff --git a/src/sample/js/edit-content.html b/src/sample/js/edit-content.html new file mode 100644 index 0000000..0b76d34 --- /dev/null +++ b/src/sample/js/edit-content.html @@ -0,0 +1,11 @@ +こんにちは!
+ + + diff --git a/src/sample/js/toggle-class.html b/src/sample/js/toggle-class.html new file mode 100644 index 0000000..ed00d80 --- /dev/null +++ b/src/sample/js/toggle-class.html @@ -0,0 +1,19 @@ + + +背景色がついたり消えたりします
+ + +