2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JavaScriptのwindowオブジェクトとdocumentオブジェクトについて(DOM操作、イベントリスナーなど)

Last updated at Posted at 2022-02-05

windowオブジェクトとは

JavaScriptが動作しているブラウザのwindowを指します。
この中にブラウザ操作のための関数やオブジェクトがあります

windowオブジェクトのメソッド確認を確認するには
devtoolsを開いた後に
consoleにwindowを入力するとwindowのオブジェクトの確認ができます。
そうするとalertやconsoleなどたくさん出てきます。

window.console.log('ポチ'); //devtoolsなどでポチと出力されます。
window.alert('失敗');//アラートで失敗と出力

documentオブジェクトとは

DOM操作ができるものです。
DOMが操作できるとHTMLを追加したり削除できたりします。

⚫︎DOMとは
略してDocument Object Modelでドキュメントを物として扱うモデルという意味です。
JavaScriptを通してhtmlやXMLのようなマークアップ言語を操作するための仕組みです。

DOM操作

DOMはJavaScroptからHTMLの操作ができるものです
devtoolsのconsoleにdocumentを入力するとHTMLが見れるようになります。

document;

これだけでokです。

このHTMLを前提にやっていきます。

index.html
<body>
    <div class="テスト">テスト</div>
    <div class="alert" id="alert">アラート</div>

    <script src="./javascript/main.js"></script>
  </body>

⚫︎DOMの取得
devtoolsのconsoleに以下のように入力します。

const elements = document.getElementsByClassName('id');
console.log('elements')

で出力すると

HTMLCollection [div.テスト]

でdevtoolsに出力され、

const elements = document.getElementsByClassName('id');
console.log('elements')
<div class="テスト">テスト</div>

がdevtoolsに出力されます。

const elements = document.getElementById('alert');
console.log(elements);

に変えると

<div class="alert" id="alert">アラート</div>

がdevtoolsに出力されます。

もう少し見ていきます。

index.html
 <h1>終了時点コード</h1>
main.js
const h1Element = document.querySelector("h1");
console.log(h1Element);

//accessKey: ""
//align: ""
//ariaAtomic: null
//h1の中身が見れる

こんな感じでも出力されているはずです。

スクリーンショット 2023-04-01 15.33.25.png

h1タグの内容を変更する場合は以下のようにします。

main.js
const h1Element = document.querySelector("h1");
console.log(h1Element);
console.log(h1Element.textContent);
h1Element.textContent = "変更したタイトル";

スクリーンショット 2023-04-01 15.39.43.png

console.dir

console.dir()はオブジェクトをJSON型で表示します。このやり方も試してみてください。

DOMの書き換え

innerTextを使うと書き換えができます。

const elements = document.getElementsByClassName('id');
console.log('elements');
elements.innerText = 'アラートの試験中'; //アラートからアラートの試験中

devtoolsで出力すると

<div class="alert" id="alert">アラートの試験中</div>

に変わります。

●DOM作成
DOMの作成ではappendChildを使います。

const element = document.getElementById('alert');
console.log(element);
element.innerText = 'アラートの試験中';


//DOM作成
const dom_new = document.createElement('div');
dom_new.innerText = 'DOM作成';
element.appendChild(dom_new);

Eventlistenerについて

まずEventについてですがこれはクリックされた時や、キーが押された時、
ある領域にカーソルが入った時
に使います。
イベントリスナーとはシステムからイベントが発生したメッセージを受け取る為の機能です。

elm.addEventListener('event',
function(){
  //処理
}
)
const element = document.getElementById('alert');
console.log(element);
const alertFunc = function () {
  alert('アラート');
};
element.addEventListener('click', alertFunc);

もう少し見ていきます。

index.html
 <h1>終了時点コード</h1>
  <button>ボタン</button>
main.js
const h1Element = document.querySelector("h1");
console.log(h1Element);
console.log(h1Element.textContent);
h1Element.textContent = "変更したタイトル";

const btnEl = document.querySelector("button");
const helloFn = (e) => {
  console.dir(e.target.textContent);
  console.log("hello");
};
btnEl.addEventListener("click", helloFn);

スクリーンショット 2023-04-01 15.55.25.png

スクリーンショット 2023-04-01 15.56.04.png

参考資料

https://tektektech.com/what-is-window-object/
https://eng-entrance.com/what-is-dom
https://www.wakuwakubank.com/posts/306-javascript-dom/
https://developer.mozilla.org/ja/docs/Web/Events
https://www.udemy.com/course/react-complete-guide/

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?