htmlでwebサイトを作ろうと考えているのですが、javascriptでdiv内の文字の取得の仕方が解りません。
どなたか詳しい方取得の方法を教えていただけますか。
<div id="div1"> <div>1</div> <div>2</div> <div>3</div> </div>
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答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総合スコア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
総合スコア1844
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/13 00:17 編集
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。