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

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

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

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

jQuery

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

Q&A

解決済

1回答

1552閲覧

JQuery:URLリストのリンク先の一部をloadで拾って表示させたい

igaiga

総合スコア144

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2017/04/05 08:18

URLリストのリンク先の一部をloadで拾って表示させたいのですが、
まず値の取得からうまく行かずに進みませんでした。。。

やりたいことは下記の2点です。
1.各aタグのhrefを読み込んでリンク先のURLをloadで読込
2.読込結果を</a>の後ろにそれぞれ対応するものを出力

###イメージしているコード(動きません)

<ul class="checkBoxListLink"> <li><a href="/?hoge=&year=1">1年以内</a></li> <li><a href="/?hoge=&year=2">2年以内</a></li> <li><a href="/?hoge=&year=3">3年以内</a></li> </ul> <script type="text/javascript"> $(".checkBoxListLink > li > a").each(function(i) { var url = $(".checkBoxListLink > li > a").attr("href");//urlを変数に入れる $(".checkBoxListLink > li > a").load(url + "#sort_val");//load先から一部を抜き出して</a>の前に出力 }); </script>

###テスト1 addClassはイメージどおりに反映される(成功)
のでセレクタはあっていると思います。

<ul class="checkBoxListLink"> <li><a href="/?hoge=&year=1">1年以内</a></li> <li><a href="/?hoge=&year=2">2年以内</a></li> <li><a href="/?hoge=&year=3">3年以内</a></li> </ul> <script type="text/javascript"> $(".checkBoxListLink > li > a").addClass("addClass"); </script>

出力結果

<ul class="checkBoxListLink">
<li><a href="/?year=1" class="addClass">1年以内</a></li> <li><a href="/?year=2" class="addClass">2年以内</a></li> <li><a href="/?year=3" class="addClass">3年以内</a></li> </ul>

###テスト2 loadでリンク先の一部を取得(成功)

<script type="text/javascript"> $("#read").load("/?year=1 #sort_val"); </script> <div id="read"></div>

出力結果

<div id="read"><p>10件</p></div>

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

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

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

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

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

guest

回答1

0

ベストアンサー

  1. .loadは指定した要素にサーバーから受信した情報を読み込むメソッドです。質問にある通り、liにappendする等の動作をしたい場合は、予めDOMを用意してそのDOMのloadを使用してください。

  2. .eachの中で再度セレクタを使用してアクセスしていますが、この場合、該当した全てのaタグでloadが実行されますので、最後の結果しか残りません。.eachの中であれば、$(this)で良いと思います。

<ul class="checkBoxListLink"> <li><a href="/?hoge=&year=1">1年以内</a><span></span></li> <li><a href="/?hoge=&year=2">2年以内</a><span></span></li> <li><a href="/?hoge=&year=3">3年以内</a><span></span></li> </ul> <script type="text/javascript"> $(".checkBoxListLink > li > a").each(function(i) { var url = $(this).attr("href"); $(this).next().load(url + " #sort_val"); }); </script>

投稿2017/04/05 08:32

編集2017/04/06 00:11
mri0815

総合スコア429

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

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

igaiga

2017/04/06 00:03 編集

すみません。もう少し教えていただいてもいいでしょうか;; サンプルで書いていただいたものそのままだとページ全体を読み込んできてしまいました。 + "#sort_val"の部分をクォーテーションをとったり、変数に置きなおしたりすると今度は読み込まれなくなります。
mri0815

2017/04/06 00:12

セレクタを指定する場合はURLの後に半角スペースが必要のようです。 http://api.jquery.com/load/ サンプルも修正しましたので、ご確認くださいませ。
igaiga

2017/04/06 00:22

ありがとうございます!できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問