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

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

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

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

HTML

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

CSS

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

Q&A

解決済

3回答

1073閲覧

liではなくddでタブ切り替えを作りたいのですが

141h

総合スコア8

JavaScript

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2016/03/23 03:21

編集2016/03/23 04:41

はじめまして141hといいます、
HTMLとCSSの勉強をはじめて2か月になります。
よろしくお願いします。

今回はクリックするとフェードして切り替わるタブを作ろうと思い
コーディングしていたのですが、サイト構成でどうしてリストにするわけにはいかず
1つのddの中に3つaタグを入れるという形でタブを作りたいのですがうまくいきませんでした。

最初にliで作ったコードになります(こちらはうまく切り替わりました)

【HTML】

<ul class="tabMenu"> <li class="tabSelected"><a href="#tabA"></a></li> <li><a href="#tabB"></a></li> <li><a href="#tabC"></a></li> </ul> <div class="tabBoxes"> <div id="tabA"></div> <div id="tabB"></div> <div id="tabC"></div> </div>

【JavaScript】
$(document).ready(function(){
$(".tabMenu li a").on("click",function(){
$(".tabBoxes div").hide();
$($(this).attr("href")),fadeToggle();
return false;
});
});

このようにするとタブの切り替えができるのでですが
これをliではなく下記のようにddでやろうとするとうまく切り替わってくれません。
サイト構成上どうしても一つのddの中にaタグを三ついれるという形にしなくてはいけないのですが
それが原因なのかもわからずどうかお力添えいただけるとありがたいです。
よろしくお願いいたします。

【HTML】

<dl class="tabMenu"> <dt></dt> <dd class="tabSelected"> <a href="#tabA"></a> <a href="#tabB"></a> <a href="#tabC"></a> </dd> </dl> <div class="tabBoxes"> <div id="tabA"></div> <div id="tabB"></div> <div id="tabC"></div> </div>

【JavaScript】
$(document).ready(function(){
$(".tabMenu dd a").on("click",function(){
$(".tabBoxes div").hide();
$($(this).attr("href")),fadeToggle();
return false;
});
});

追記

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

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

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

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

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

guest

回答3

0

fadeToggleの前の記号ですが、
ドットがコンマになっているので動かないのではないでしょうか。

$($(this).attr("href")),fadeToggle();

下記をコピペして一度お試しください。

$($(this).attr("href")).fadeToggle();

投稿2016/03/24 08:05

na533

総合スコア32

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

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

141h

2016/04/04 02:13

ご返信が遅くなってしまい申し訳ありません。 ,を.にしてみたのですが変わらずでした。 コーディングが根本的に間違えてたのかもしれません。 ご回答ありがとうございました。
guest

0

ベストアンサー

<dt class="tabMenu"></dt>

これでは「dtタグ以下のddタグ」は存在しないので取得できません。

投稿2016/03/23 04:08

tkturbo

総合スコア5572

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

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

141h

2016/03/23 04:39

ありがとうございます。 tabMenuクラスの中にddタグが入っていないのでdlにクラス名を入れる方法でやってみたのですが変わらずでした。ご回答ありがとうございました。
tkturbo

2016/03/23 05:36 編集

「,fadeToggle()」じゃなくて「.fadeToggle()」では?
141h

2016/04/04 02:12

ご返信が遅くなってしまい申し訳ありません。 ,を.にしてみたのですが変わらずでした。そもそものコーディングのやり方が間違っていたのかもしれません。再度のご回答ありがとうございました。
guest

0

$(".tabMenu dd a").on("click"

HTMLを見てみると、tabMenuクラスの中にddタグが入っていません。

HTMLのクラスを付け替えるか、$(".tabSelected a").on("click", ~~ と変更するか

投稿2016/03/23 03:58

erika.m

総合スコア46

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

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

141h

2016/03/23 04:39

ありがとうございます。 tabMenuクラスの中にddタグが入っていないのでdlにクラス名を入れる方法でやってみたのですが変わらずでした。ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問