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

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

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

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

YouTube

YouTubeとはユーザーがビデオをアップロード・共有・閲覧できるビデオ共有ウェブサイトです。

jQuery

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

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

4回答

1959閲覧

aタグの中にaタグを入れたい

退会済みユーザー

退会済みユーザー

総合スコア0

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

YouTube

YouTubeとはユーザーがビデオをアップロード・共有・閲覧できるビデオ共有ウェブサイトです。

jQuery

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

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/12/10 10:25

下の図のようにリンクの中にリンクを入れて「HIKAKIN TV」という文字をクリックするとexample.com/videos/0001ではなくexample.com/users/hikakintvに飛ぶようにしたいのですが現状だと「HIKAKIN TV」をクリックするとexample.com/users/hikakintvとexample.com/videos/0001が両方開いてしまいます。(正確には一瞬はexample.com/users/hikakintvが表示されてその直後にexample.com/videos/0001に移動してしまう)
YouTubeのようにリンクの中にリンクを入れてもちゃんとした場所に移動できるようにするにはどうしたらいいのでしょうか。
ちなみにメインのリンク(example.com/videos/0001)はjQueryをクリックすると使って設定しています。

jQuery

1 jQuery(function($) { 2 $('.card').css('cursor','pointer'); 3 $('.card').on('click',function () { 4 window.location.href = $(this).find('.find').find('a').attr('href'); 5 }); 6 });

イメージ説明

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

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

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

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

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

Lhankor_Mhy

2019/12/10 10:43

HTMLコードをご提示ください。 「HIKAKIN TV」の部分についてイベントバブリングを止めればいいような気がしてます。
m.ts10806

2019/12/10 10:46

想定のブラウザも追記してください
退会済みユーザー

退会済みユーザー

2019/12/10 10:51

<div class="stream-item"> <div class="content"> <div class="stream-item-header"> <%= link_to(user_path(post.user)) do %> <%= image_tag current_user.profile_photo, class: "avatar avatar-size48 profile-photo" %> <% end %> <div class="user-profile-link"> <%= link_to "#{post.user.username}", user_path(post.user), class: "username" %> <%= link_to "@" + "#{post.user.user_id}", user_path(post.user), class: "user-id" %> </div> <div class="find"> <%= link_to(post_path(post)) do %> <div class="time"> ・<%= time_ago_in_words(post.created_at) %> </div> <% end %> </div> </div> <div class="post-text" id="link"> <%= raw safe_join(post.text.split("\n"), tag(:br)) %> </div> </div> <div class="button-area"> <%= render partial: 'posts/posts', collection: @posts, as: :post %> <div class = "comment-button"><%= image_tag 'comments.svg', class: 'comment-img',id: 'modal-open' %></div> </div> </div> </div> 想定はGoogleChromeです
m.ts10806

2019/12/10 12:16

質問は編集できます。 こちらに追記されてもデフォルト非表示であるため目につきにくいですし マークダウンも使えません。
m.ts10806

2019/12/10 12:17

普通のhtmlでなくてRailsですかね。 Rails直接関係ない内容でしたらブラウザに表示させたときのhtmlを提示された方が回答は得られやすくなります。
Lhankor_Mhy

2019/12/11 00:39

「HIKAKIN TV」の部分は、このコードでいうとどこに当たりますか?
guest

回答4

0

https://qiita.com/fukamiiiiinmin/items/7412b21c6df5de31cab1
などと先人が既にQiitaに挙げているので参考にされてはいかがでしょうか?

投稿2019/12/10 10:27

kyoya0819

総合スコア10429

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

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

退会済みユーザー

退会済みユーザー

2019/12/10 10:30

タイトルが悪くてすみません 正確にはaタグの中にaタグを入れることはできているのですが中のaタグをクリックすると2つのaタグが反応してしまいます
kyoya0819

2019/12/10 10:31 編集

リンク先読みました? aタグの中にaタグを入れることNGです。
退会済みユーザー

退会済みユーザー

2019/12/10 10:32

「そうすることでコンテンツ全体をaタグで囲い、その中にまたaタグを入れるようなレイアウトが出来るように成りました。」と書いてありますが...
退会済みユーザー

退会済みユーザー

2019/12/10 10:40

他サイトではどのように実現しているのでしょうか?
kyoya0819

2019/12/10 12:42

私は存じ上げません。 私が実装しているわけではないので、 ただ、ご自身で調べるときはYouTube以外のコードをお勧めします。 YouTubeは独自タグわんさかですから
guest

0

既出の通り、a要素は入れ子に出来ない仕様です。
area要素で領域を分割して、目的の要素の外側にある複数のarea要素にリンクさせれば、実装できると思います。

ただ、ユーザ目線で見て、リンク領域が分かりづらいです。
「名前をクリックしたつもりで少しずれた部分(余りの領域)に触れてしまって動画ページに遷移してしまった」というエラー報告が増えるのは容易に想像できるので、要件を変える事を提案します。
「サムネイル画像、画像ラベル」をブロックボックスで括ってリンクすれば、リンク領域の境界がユーザに伝わりやすいUIになると思います。

Re: 365 さん

投稿2019/12/10 13:30

think49

総合スコア18164

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

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

0

ベストアンサー

実際の案件で行ったので同じようなものがあったので回答。

ただ当時の案件はテキストではなく画像ボタンだったので、
下の二つが複数行になる場合は難しいです。

また、このサイズだとPCでは横に並んでいくものと仮定しています。

HTML

1<section class="box"> 2 <ul> 3 <li> 4 <a href=""> 5 <dl> 6 <dt>サムネ画像</dt> 7 <dd><p>YouTuber~~略</p></dd> 8 </dl> 9 </a> 10 <div> 11 <strong><a href="">HIKAKIN TV</a></strong> 12 <em>1回視聴<a href="">新着</a></em> 13 </div> 14 </li> 15 </ul> 16</section>

CSS

1.box ul { 2 display:flex; 3} 4.box ul li { 5 border:/*枠線はここに指定*/; 6} 7.box ul li a dl { 8 padding-bottom:/*divの内容が収まるように*/; 9} 10.box ul li div { 11 position:relative; 12 height:0; 13} 14.box ul li div strong,.box ul li div em { 15 position:absolute; 16}

細かい数値は省略しました。
.box ul li divの中はテキトーです。適切なタグ・クラス名は自身で決めてください。

投稿2019/12/11 01:34

LibertyBell3

総合スコア1084

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

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

0

aタグをネストさせるのではなく、後ろのaタグの代わりに背面いっぱいに広がるaタグを作ればいいんじゃないですか?
cssも作ってない雑なコードですが。

HTML

1<input id="test1" value="test1"/> 2<input id="test2" value="test2"/> 3 4<a href="#test1" style="background-color:#ddd; height:50px; width:50px;display: block;"><a href="#test2" style="width:25px;height:25px;background-color:#FE4;display: block;" ></a></a> 5 6/* 上記だと仕様でできない↓↓ */ 7 8<div style="background-color:#ddd; height:50px; width:50px; position:relative;"> 9 <a href="#test1" style=" height:100%; width:100%;display: block; position:absolute;" ></a> 10 <a href="#test2" style="width:25px;height:25px;background-color:#FE4;display: block;position: relative; z-index: 2;" ></a> 11</div>

投稿2019/12/11 00:42

makosankibu

総合スコア289

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問