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

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

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

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

2053閲覧

Google ChromeのコンソールからJavascriptで特定位置にある値を取得したい

aileaa

総合スコア7

JavaScript

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2017/04/15 12:00

###前提・実現したいこと
HTMLから Google ChromeのコンソールでJavascriptを使用して特定の位置にある値を取得したいと思っています。

###該当のソースコード

HTML

1---------------------略--------------------------- 2<div class = "A_area"> 3 <div class = "block"> 4 <div class = "in_block"> 5 <img src ="AAA1.jpg"> 6 <div class = "img_text"> 7 "A男さん" 8 </div> 9 </div> 10 <div class = "in_block"> 11 <img src ="AAA2.jpg"> 12 <div class = "img_text"> 13 "A子さん" 14 </div> 15 </div> 16 </div> 17</div> 18 19<div class = "B_area"> 20 <div class = "block"> 21 <div class = "in_block"> 22 <img src ="BBB1.jpg"> 23 <div class = "img_text"> 24 "B男さん" 25 </div> 26 </div> 27 <div class = "in_block"> 28 <img src ="BBB2.jpg"> 29 <div class = "img_text"> 30 "B子さん" 31 </div> 32 </div> 33 </div> 34</div> 35 36<div class = "C_area"> 37 <div class = "block"> 38 <div class = "in_block"> 39 <img src ="CCC1.jpg"> 40 <div class = "img_text"> 41 "C男さん" 42 </div> 43 </div> 44 <div class = "in_block"> 45 <img src ="CCC2.jpg"> 46 <div class = "img_text"> 47 "C子さん" 48 </div> 49 </div> 50 </div> 51</div> 52---------------------略---------------------------

###ここから取得したい値
(imgタグのsrcの値:class="img_text" の下のテキスト)
BBB1.jpg:B男さん
BBB2.jog:B子さん

###補足説明

<div class = "B_area"> の中にあるimgのsrcの値とその下にあるテキストを並べて表示したいと考えています。 ほしいデータの直近にユニークな項目がないためどうやって取っていいかがわかりません・・・

なお
A_areaの前 C_areaの後ろにも同じような枠がある可能性があるため
2番目の などの数値での指定はできないものと考えてください。

以上 よろしくお願いします。

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

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

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

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

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

kei344

2017/04/15 17:44

コメントにて「コンソールで直接動かしているのですが」とありますが、どの機能を使ってどのように実行されているのでしょうか。それを質問文に追記いただけませんか?
guest

回答1

0

ベストアンサー

querySelectorquerySelectorAllという、cssセレクタで指定した要素を取得できる便利なメソッドが存在しますので、それを利用して必要な要素を取得するのがよいでしょう。

cssセレクタは、かなり複雑な条件で要素を指定することができます。指定の方法は以下url等で確認してください。
http://www.htmq.com/csskihon/005.shtml
http://www.htmq.com/css3/index.shtml#sele

javascript

1// B_areaクラスの要素の下の、in_blockクラス要素を全て取得 2const inBlocks = document.querySelectorAll(".B_area .in_block"); 3 4for(const inBlock of inBlocks) { 5 // in_blockクラス要素の中から、imgタグとimg_textクラスの要素を取得して 6 // 必要な値を得る 7 const imgSrc = inBlock.querySelector("img").getAttribute("src"); 8 const imgTxt = inBlock.querySelector(".img_text").innerText; 9 10 // コンソールに出力 11 console.log(`${imgSrc}:${imgTxt}`); 12}

投稿2017/04/15 12:41

編集2017/04/15 12:45
ku__ra__ge

総合スコア4524

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

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

aileaa

2017/04/15 15:29

CSSセレクタが使えればなーと思っていたところでした! そんなメソッドがあったんですね、助かりました! すいませんもう一つだけ質問させてください・・・ コンソールで直接動かしているのですが その場合console.logで表示されないのは仕様なんでしょうか それとも別の場所に表示されるんでしょうか・・・
aileaa

2017/04/17 15:05

できました! 表示されずうーんとうなって1日忙しくてPC触れなかったのですが 今日やってみたらスッっと出てきました。 原因はわかりませんが希望通りの情報を出すことができました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問