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

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

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

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

HTML

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

Q&A

解決済

2回答

1246閲覧

取得した情報を一つのテキストにまとめたい

garaji

総合スコア7

jQuery

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

HTML

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

0グッド

0クリップ

投稿2016/03/27 16:51

編集2016/03/27 19:14

別ドメインのソースから、必要な情報だけ取得したいと思っています。
http://sterfield.co.jp/demo/hoshino/55/
こちらのサイトを元に取得情報を個別に返すのではなく、
テキストエリアにまとめて出力する方法を思案しています。

試してみたいくつかの方法をまとめておきます。
単純に足してみました。

javascript

1 $( "#text" ).val( r.find( "title" ).html() + r.find( "meta[name='description']" ).attr( "content" ) );

値を別に用意して以下のようにまとめました。

javascript

1 var b = ""; 2 b += "r.find( 'title' ).html()"; 3 b += "r.find( 'meta[name='description']' ).attr( 'content' )"; 4 $( "#text" ).html(b);

もう一つ試しました。

javascript

1 var tit = $( "#title" ).val( r.find( "title" ).html() ); 2var des = $( "#description" ).val( r.find( "meta[name='description']" ).attr( "content" ) ); 3var b += tit + des; 4

何れも情報の取得自体が失敗でした。
ご教授いただきたいです。

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

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

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

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

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

guest

回答2

0

ベストアンサー

取得した情報を連想配列や配列に格納(この時点でほぼ1つにまとまっています)。
その後必要な加工をして、テキストエリアに出力すればいいと思います。

紹介しているサイトの場合、取得した情報を各インプットタグのvalue上に入れているからそうなっているだけで、どう出力するかは書き方次第でどのようにでもできます。

取得

サンプルコードの取得の部分はこの箇所です。
ここはそのまま使えます。

javascript

1r.find( "title" ).html();

出力

出力はこの部分です。
ここを変えます。

javascript

1$( "#title" ).val(value);

上記取得と出力を同時に行っているのが下記のコードの構造、ということです。

$( "#title" ).val( r.find( "title" ).html() );

アプローチ

サンプルコードでは、取得と出力を同時に行っています。
まず、取得したものを変数に代入しましょう。

javascript

1// 出力先の用意 2var $textarea = $('textarea'); 3 4// 取得したものを変数に代入 5var title = r.find( "title" ).html(); 6var description = r.find( "meta[name='description']" ).attr( "content" ); 7 8// 出力用テキストに加工 9var output = title + descriptrion; 10 11// 出力 12$textarea.text(output); 13 14/* 別パターン */ 15// 取得したものを配列にする 16var ary = [title, description]; 17 18// 配列結合 19var output = ary.join(" "); 20 21// 出力 22$textarea.text(output);

投稿2016/03/27 17:13

編集2016/03/28 01:19
yamato_hikawa

総合スコア2092

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

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

garaji

2016/03/27 17:31

本当に初歩的な問題で申し訳ございません。 ご指摘のとおり、どう出力するかの具体的方法が自分の知識ではうまくいかず困っています。
yamato_hikawa

2016/03/28 01:14

回答に追記しました。分からないことがあればご質問ください。よろしくお願いします。
garaji

2016/03/28 02:02

配列結合処理まで行うと、ようやくできました。 解説まで頂き、ありがとうございます。 勉強になりました。
guest

0

http://sterfield.co.jp/demo/hoshino/55/

こちらのサイトが最もイメージと近い

この参考サイトのソースを読んでみましたか?

javascript:

1// title 2$( "#title" ).val( r.find( "title" ).html() );

例えばこの部分

r.find( "title" ).html() で取り出した内容を $( "#title" ).val(内容); で指定の input に表示しています。

  • 取り出したい内容は同じ
    → 違ったとしても、参考サイトと同様の取り出し方で増やせる
  • 出力先は違う
    → けど、やはり出力先の指定の仕方も既に参考サイトに書いてある

やりたいことからすると… あとは好きな表示形式に加工して出力すれば完了ですかね?


参考サイトのソースは読んでみましたか?
ローカルにコピペ(または写経) して動かしてみましたか?
望んだ挙動になるように、改造してみましたか?
どこまで試し、どこがどう分からなかったでしょうか?

シンプルだったので先に回答を書いてしまったのですが…
分からないなりにコードを読むとか真似をしてみるとか改造してみるとか大切です。
そしてただ「分からない」ではなく、「ここまでできたが、こういう理由でここが分からない」というのも大事です。
私の↑の説明もだいぶ端折っているので、まずは試してみてください。

投稿2016/03/27 17:32

heignamerican

総合スコア94

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

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

garaji

2016/03/27 18:23

ありがとうございます。 思考例をまとめておきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問