0
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.

JSを始めよう!

Last updated at Posted at 2023-03-27

DOM操作

  • documentオブジェクトのメソッド(HTML要素自体を操作)
    getElementById():指定されたID属性を持つ要素を取得
    getElementsByClassName():指定されたクラス名を持つすべての要素を取得
    getElementsByTagName():指定されたタグ名を持つすべての要素を取得
    querySelector():指定されたCSSセレクターに一致する最初の要素を取得
    querySelectorAll():指定されたCSSセレクターに一致するすべての要素を取得
    createElement():指定された要素の名前で新しい要素を作成
    appendChild():指定された要素を、指定された親要素の子要素として追加
    removeChild():指定された子要素を、指定された親要素から削除
    setAttribute():指定された属性と値を持つ指定された要素に属性を追加
    getAttribute():指定された属性の値を取得
    addEventListener():特定のイベントが発生したときに、指定した関数を呼び出すことができる。ボタンがクリックされたときに、そのボタンに関連付けられた関数を呼び出すことができる
    removeEventListener():指定されたイベントのリスナー関数を指定された要素から削除
    querySelectorAll():指定されたセレクターに一致するすべての要素を返す
    querySelector():指定されたセレクターに一致する最初の要素を返す

  • elementオブジェクトのメソッド(HTML要素自体を操作)
    getElementById(id) : 引数で指定されたidを持つHTML要素を取得
    querySelector(selector) : 引数で指定されたCSSセレクタに一致する最初の要素を取得
    querySelectorAll(selector) : 引数で指定されたCSSセレクタに一致するすべての要素を取得
    appendChild(node) : 引数で指定されたノードを、要素の子要素の末尾に追加
    removeChild(node) : 引数で指定された子要素を要素から削除
    setAttribute(attribute, value) : 引数で指定された属性に値を設定
    getAttribute(attribute) : 引数で指定された属性の値を取得
    style.property = value : 引数で指定されたCSSプロパティに値を設定
    classList.add(className) : 引数で指定されたクラスを要素に追加
    classList.remove(className) : 引数で指定されたクラスを要素から削除
    classList.contains(className) : 引数で指定されたクラスが要素に含まれているかどうかを判定
    classList.toggle(className) : 引数で指定されたクラスが要素に含まれている場合は削除し、含まれていない場合は追加
    addEventListener(event, function) : 引数で指定されたイベントが発生したときに、指定された関数を実行
    dispatchEvent(event) : 引数で指定されたイベントを発生させます。

  • classListオブジェクトのメソッド(HTML要素のクラス属性を操作)
    add(class1):要素に指定されたクラスを追加
    remove(class1, class2, ...):要素から指定されたクラスを削除
    toggle(class, true|false):指定されたクラスが要素に存在する場合は削除し、存在しない場合は追加します。引数にtrueまたはfalseを指定すると、クラスの追加または削除 contains(class)`:指定されたクラスが要素に含まれているかどうかをチェックし、結果をtrueまたはfalseで返す

用語

DOM(Document Object Model):HTMLなどを解釈し木構造で表現したもの
これまでDOMを直接操作していた
それではレンダリングコストが高い、コードが複雑化しやすい
それを解決したのが仮想DOM
いきなりDOMを操作せず、JS上で仮想DOMを操作し差分を出してからDOMに反映させる

パッケージマネージャー
・内部ではNode.jsが動いている。
・依存関係を勝手に解決してくれる。
・import先が明示的にわかる
・世界中で公開されているパッケージをコマンド1つで利用できる
・チーム内での共有も簡単

NPM:パッケージのレジストリ
packeage.json:設計書
package-lovk.json:依存関係、バージョンの解決。
node_modules:モジュールの実体。(githubにはあげない)

ECMScript:JSの標準規格、毎年一回発表される

モジュールバンドラー(webpack):複数のJSファイルを1つにまとめるためのもの

トランスパイラ:新しいJSの記法を古い記法に変換してくれる

SPA(Single Page Applicaiton):HTMLは1つのみでJSで画面を切り替える。
JSでHTMLのDOMを書き換えるて、HTMLはそのままだけど画面が変わったように見える。
メリット・・ページ遷移事のちらつきがなくなる。コンポーネント分割が容易になることで開発効率アップ

例(作成途中)

element =documetn.createElement(要素):指定した要素を新しく作る
element.innnerText = "":要素のテキストを設定
documet.body.appendChild(element):要素をbodyに追加
innerHTMLプロパティでテキストを変更する

addEventListner(イベント名,イベント時の挙動):要素に対して指定したイベントが発生したときの挙動を設定
イベント例
clck:要素をクリックした時
mouseover:要素の上にカーソルが来た時
mouseleave:要素の上からカーソルが外れた時

insertAdjacentHTML()は、指定したHTML文字列をDOMツリーに挿入するメソッドです。このメソッドは、挿入する位置を指定することができます。

textContentは、要素のテキストコンテンツ(HTMLタグを含まないプレーンテキスト)を取得または設定するためのプロパティです。このプロパティは、テキストノードの内容を取得するためによく使用されます

0
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
0
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?