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

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

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

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

jQuery

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

Q&A

解決済

3回答

1075閲覧

複数あるliにhref属性を表示させたい

mayuko

総合スコア7

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2017/06/28 05:01

編集2017/06/29 02:39

###前提・実現したいこと

html

1<ul> 2<li><a href="red.jpg" target="_blank"></a></li> 3<li><a href="blue.jpg" target="_blank"></a></li> 4<li><a href="green.jpg" target="_blank"></a></li> 5</ul>

上記コードにjavascriptの記述を追加して、
href属性の値を表示させ、リンクさせたい。

表示結果
・red.jpg(クリックでred.jpgへ飛ぶ)
・blue.jpg
・green.jpg

###A案

javascript

1<script> 2$(function () { 3 $('li').each(function() { 4 $(this).text($('a').attr('href')); 5 }); 6}); 7</script>
A 結果この通り表示されますが、リンクされません。 ・red.jpg ・blue.jpg ・green.jpg

###B案

javascript

1<script> 2$(function () { 3 $('a').each(function() { 4 $(this).text($('a').attr('href')); 5 }); 6 7}); 8</script>
B 結果 リンクされますが全てred.jpgが表示されます ・red.jpg ・red.jpg ・red.jpg

javascript勉強を始めたばかりです。
よろしくお願いします。

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

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

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

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

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

kei344

2017/06/28 05:03

質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
mayuko

2017/06/28 11:11

ありがとうございました。見づらくてすみませんでした。
kei344

2017/06/28 15:26

ここは「質問への追記・修正の依頼」です。解決済にしても本文を編集することが出来ますので、よろしくお願いします。
mayuko

2017/06/29 02:40

編集しました。ありがとうございました。
guest

回答3

0

ベストアンサー

javascript

1$('a').each(function() { 2 $(this).text($(this).attr('href')); 3}); 4

でしょ。

全てred.jpgが表示され

るのは「$('a').attr('href')」をやったためで、最初のaタグのhref属性の値が取れてしまったのですね。

投稿2017/06/28 05:09

編集2017/06/28 05:18
tkturbo

総合スコア5572

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

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

mayuko

2017/06/28 05:57

早速ありがとうございました。 出来ました! 間違えていた部分、分かりました。 ひき続き勉強します。
guest

0

すでに解決済みとなっていますが、この場合はJavaScriptを使わなくてもCSSだけでできると思うので書いておきます。

CSS

1ul a:after { 2 content: attr(href); 3}

投稿2017/06/28 07:35

x_x

総合スコア13749

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

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

mayuko

2017/06/28 11:25 編集

ありがとうございました。 出来ました。 css attr 知りませんでした。思いがけず、勉強になりました。
guest

0

liの中のaのtextが空なら、aのhrefを書き込むという仕様であればこう

javascript

1$(function(){ 2 $('li a').filter(function(){return $(this).text()==""}).text( 3 function(){return $(this).attr('href')} 4 ); 5});

HTML

1<ul> 2<li><a href="red.jpg" target="_blank"></a></li> 3<li><a href="blue.jpg" target="_blank"></a></li> 4<li><a href="green.jpg" target="_blank"></a></li> 5<li><a href="green.jpg" target="_blank">test</a></li> 6</ul>

投稿2017/06/28 05:30

yambejp

総合スコア114769

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

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

mayuko

2017/06/28 05:55

早速ありがとうございました。 出来ました! こちらは汎用性がありますね。 復讐します。 ありがとうございました。
tkturbo

2017/06/28 05:56

「復讐」してどうする(笑
mayuko

2017/06/28 06:03

復習でしたっ。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問