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

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

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

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

Q&A

解決済

2回答

1688閲覧

DOM(Document Object Model)基本について

ginowan589

総合スコア14

JavaScript

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

0グッド

0クリップ

投稿2017/05/17 10:21

javascriptでのDOMの操作や取得について

今、現在DOMの実装しているのですかコードの書き方がわからず半日中進まずどのように実装して、どうやって取得しているのかわかりません...
あと取得できているかのコンソールの掛け方もです。

今回の質問

コードの書き方
取得できてるかコンソールでの掛け方

問題
element.firstElementChild; //最初の子要素を取得せよ

var elem = document.getElementById('test'); //ここと// var elem = element.firstElementChild;//ここ// console.log(test); //コンソールの掛け方合ってる?

すいません、自分でも何やってるかわからず、何ができていないのかもわからず
結構課題が多いのですがこのようなのはみな同じ書き方でしょうか?
よろしくお願いします

■親子兄弟要素へのアクセス

//親要素
element.parentNode;

//子要素
element.firstElementChild; //最初の子要素
element.lastElementChild; //最後の子要素
element.children; //子要素リスト

//1つ前の要素
element.previousElementSibling;

//1つ後の要素
element.nextElementSibling;

■要素の作成・追加

//要素の作成
var div = document.createElement(‘div’);
div.textContent = ‘hoge’;

//最後の子要素として追加
element.appendChild(div);

//最初の子要素として追加
element.insertBefore(div, element.firstChild);

//要素の直前に追加
element.parentNode.insertBefore(div, element);

//要素の直後に追加
element.parentNode.insertBefore(div, element.nextSibling);

■要素の削除

//特定の子要素削除
element.removeChild(child);

//自分を削除
element.parentNode.removeChild(element);

//子要素を全て削除
while (element.firstChild) element.removeChild(element.firstChild);

//子要素を全て削除(part2)
element.textContent = null;

■属性の操作

//属性の取得
element.getAttribute(‘href’);

//属性を設定
element.setAttribute(‘href’, ‘http://’);

//属性を削除
element.removeAttribute(‘href’);

■スタイル関連操作

//class追加
element.classList.add(‘active’);

//class削除
element.classList.remove(‘active’);

//classをトグル
element.classList.toggle(‘active’);

//スタイルを直接指定
element.style.backgroundColor = ‘#******’;

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

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

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

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

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

honami

2017/05/17 10:24

まずelementやtestといった変数はどこで宣言されているのですか?
ginowan589

2017/05/17 12:03

ご回答ありがとうございます。elementやtestの変数に対しての定義が成り立ってなかったということですね。
guest

回答2

0

ベストアンサー

javascript

1 var elem = document.getElementById('test'); 2 var elem = element.firstElementChild;

ではなく、

javascirpt

1 var elem = document.getElementById('test'); 2 var child = elem.firstElementChild;

ではないでしょうか。

javascript

1 var elem = document.getElementById('test'); 2 var elem = element.firstElementChild;

だと、じゃあelementってどこを指すの?って話になって、javascriptは意味わかんないってなります。定義した変数しかjavascriptは理解できませんので。しかもこれだと変数を上書きしてますよ。

投稿2017/05/17 10:44

編集2017/05/17 10:45
imamoto_browser

総合スコア1161

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

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

ginowan589

2017/05/17 12:00

ご回答ありがとうございます。 elemの使い方や定義がおかしいということですね。 いろいろと試したいと思います。
guest

0

質問者さんのコード

JavaScript

1var elem = document.getElementById('test'); //ここと// 2var elem = element.firstElementChild;//ここ// 3console.log(test); //コンソールの掛け方合ってる?

HTML Standard を実装しているブラウザにおいては <element id="test"> をグローバル変数 test で参照できるように実装されている為、このコードでも動作はします。
しかし、その方法で参照するならば、1行目の getElementById による参照が全くの無意味であり、ようするに間違っています。
また、エラーにはなりませんが、同じ変数名を var で宣言するのは無駄なので、変数名を変えるか、後述の変数宣言処理で var を削除する方が好ましいと思います。

修正案コード

JavaScript

1var elem = document.getElementById('test'); //ここと// 2console.log(elem); 3 4elem = element.firstElementChild;//ここ// 5console.log(elem);

Re: ginowan589 さん

投稿2017/05/17 10:51

think49

総合スコア18162

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問