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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

10611閲覧

htmlでdivの中身を取得したい

aaaaaaaaaaaaaa

総合スコア77

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

2クリップ

投稿2016/01/12 04:28

htmlでwebサイトを作ろうと考えているのですが、javascriptでdiv内の文字の取得の仕方が解りません。
どなたか詳しい方取得の方法を教えていただけますか。

<div id="div1"> <div>1</div> <div>2</div> <div>3</div> </div>

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

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

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

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

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

guest

回答3

0

こんにちは。
未熟者ですが、私ならこういうコードを書きます。
何かコメントありましたら、ご助言などお願いします。

■divの直下にあるテキストを抽出する場合

<script> var forEach = Array.prototype.forEach; var parentElem = document.getElementsByTagName( "div" )[0]; forEach.call(parentElem.childNodes, function(childElem){ if( childElem.innerHTML ){ console.log( childElem.innerHTML ); }else{ console.log("残念!タグの直下に文字はありませんでした!"); } }); </script>

これでいかがでしょう?

投稿2016/01/12 13:22

編集2016/01/12 13:24
hentai_nabe

総合スコア94

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

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

0

こんにちは。
どちらのdivについて言っているのかはわかりませんが、
プレーンなjavascriptでしたら、こんな感じでいかがでしょうか?

javascript

1window.onload=function(){ 2 3 var element = document.getElementById("div1"); 4 var childs = element.childNodes; 5 6 var gettingStr = ""; 7 for(var i=0; i < childs.length; i++ ){ 8 if(childs[i].tagName == "DIV"){ 9 gettingStr += childs[i].innerText+"\n"; 10 } 11 } 12 alert(gettingStr); 13}

getElementById()で親divのidを指定し、エレメントを取得
childNodesで子要素を全て取得
tagNameでDIVのタグ名かどうかを判定
innerTextで該当タグ内のテキストを取得
となっています。

投稿2016/01/12 05:35

kaputaros

総合スコア1844

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

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

think49

2016/01/12 06:05

innerText は IE 独自拡張です。 IE8 も考慮するなら textContent, innerText を併用する必要があります。 IE9 なら childNodes の代わりに children を、innerText の代わりに textContent が使えるのでクロスブラウザが楽です。 MSサポートサイクル的にはあと9時間で IE8 のサポートが切れるので、IE8 に対応するのは特別な状況でなければ考慮しなくて良いと思います。 https://www.microsoft.com/japan/msbc/Express/ie_support/
kaputaros

2016/01/13 00:17 編集

think49さん ご指摘ありがとうございます。 > innerText は IE 独自拡張です。 そうだったんですね。 chromeで実行して普通に動いていたので、気づきませんでした。 この場合、innerHTMLでもいけますね。
guest

0

ベストアンサー

JavaScript

1'use strict'; 2var texts = Array.prototype.map.call(document.querySelectorAll('#div1>div'), function (div) { 3 return div.firstChild.data; 4}); 5console.log(texts); // ["1", "2", "3"]

投稿2016/01/12 04:42

think49

総合スコア18164

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問