質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

11606閲覧

ノードと要素の違いとは

aaaaaaaa

総合スコア501

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

2グッド

3クリップ

投稿2016/04/12 11:14

ノードには、いくつか種類があってタグ内に記述された文字列を格納しているテキストノード、そのタグを格納している要素ノード、タグの属性を格納している属性ノードがあります。
ノードと要素は、親子関係でノードが親(スーパータイプ)で、ノードのnodeTypeという属性がELEMENT_NODE(1)になるものが要素になります。そしてこのノード或いは要素の階層構造の根本(ルート)ノードががDocumentであり、
javascript内では、documentという大域変数で接続できるものです。因みにこの大域変数は、グローバルオブジェクトであるwindowの変数です。このグローバルドキュメントは、ノードには登場しない。
合っているか分かりませんが、ここまでは認識できたのです。しかし、未だに要素とノードの違いが分からず、ピンと来ません。javascriptにおけるノードと要素の違いはなんですか。

dsk, manabufukai👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

think49

2016/04/12 13:19

ここでいう「要素」とは「要素ノード」を指しますか。それともただ単純に「要素」ですか。
think49

2016/04/13 05:17 編集

記述された内容が十分に理解できているのであれば何も問題はないように読めますが、表現上気になる部分も見受けられ、どの程度理解しているのか分からないので誰も回答できないと思います。 例えば、「ノードと要素は、親子関係でノードが親」ノードとNodeに置き換え、要素をElementに置き換え、親をプロトタイプに置き換えるなら正解ですが、わかりますか。 もう少し、理解できていない部分を具体化したほうが良いと思います。
aaaaaaaa

2016/04/13 11:37

ご返答有難うございます。 要素ノードではなく「要素」ですね。 質問文の内容では、ノードと要素の違いが親子関係であることは分かるのですが、これだけで違いを理解したことになるのかどうか不安だったので質問しました。
guest

回答1

0

ベストアンサー

「要素」というのはSGML/HTML/XMLで出てくる概念でDOMとは直接かかわりがありません。
質問文にあう文脈で正しいのは要素ではなく、要素ノードですね。

要素とタグ

要素は「開始タグ」「内容」「終了タグ」で構成される抽象的な概念で HTML 4.01 の頃から存在します。
これは HTML (SGML) の概念なので一通りは理解してください。

HTML

1<p>sample test.</p>

Node と Element

NodeElement[[Prototype]] の位置にいます。

HTML

1Object.getPrototypeOf(Element) === Node; // true

しかし、「Node === ノード」「Element === 要素ノード」ではありません。
ノードは Node のインスタンスであり、要素ノードは Element のインスタンスです。

JavaScript

1var p = document.createElement('p'); // p要素ノード 2p instanceof Node; // true 3p instanceof Element; // true

prototype-chain や new 演算子の扱いについて再学習すると良いと思います。

Re: aaaaaaaa さん

投稿2016/04/13 12:13

編集2016/04/13 12:51
think49

総合スコア18162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問