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

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

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

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

CSS

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

Q&A

解決済

2回答

287閲覧

cssがうまく反映されない(セレクタの優先順位)

grapefruit

総合スコア33

jQuery

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

CSS

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

0グッド

0クリップ

投稿2019/01/10 04:56

編集2019/01/10 04:58

解決したい課題

以下のようなhtmlで、aタグの削除をjqueryで表示しないようにcssで設定したいのですが

css

1 #delete{ 2 display:none; 3 }

html

1 <a class="edit delete">削除</a>

javascriptの方で、以下の二つの書き方で要素を指定すると、違う結果が返ってくるのはなぜでしょうか?

javascript

1$("#delete").css("display","inline");(うまくいく) 2$(".edit #delete").css("display","inline");(反映されない)

これって、セレクタの優先順位が原因なのでしょうか?

どうかご指導いただければ幸いですorz

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

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

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

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

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

m.ts10806

2019/01/10 05:03

#deleteだとidに対する指定ですが提示HTMLにはidは指定されていません。どちらもうまくいくはずがないですが、実際のコードは本当に提示の通りですか?
guest

回答2

0

js

1$(".edit.delete") //←スペースで区切らない

または

html

1<a id="delete" class="edit">削除</a>

かつ

js

1$(".edit#delete")//←スペースで区切らない

投稿2019/01/10 05:09

KazuhiroHatano

総合スコア7804

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

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

0

ベストアンサー

実際が分からないのでヒント回答

$("#delete").css

id:deleteに対する指定

$(".edit #delete").css

class:edit の配下のid:deleteに対する指定

前者はid:deleteがどこにあろうと関係ありませんが、
後者はclass:editの配下にないといけません。

後者が反映されるHTML構造例

html

1<a class="edit"> 2 <span id="delete">削除</span> 3</a>

もし、deleteはidではなくclassで「editとdelete両方のclassを持っているものに反映させたいんだ」ということであれば、下記のような書き方になります。

js

1$(".edit.delete").css() 2 ↑スペース空けない

投稿2019/01/10 05:07

m.ts10806

総合スコア80850

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

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

grapefruit

2019/01/10 05:29

迅速に回答していただいてありがとうございます!! ずっと何も考えず「スペース」で書いてたので、危なかったです ありがとうございますorz
m.ts10806

2019/01/10 05:34

コメントで別途書きましたが質問コードそのままだとどちらも動かないものです。 コードについては本当にそのまま提示してください。 本当に#deleteでidがhtmlに指定されているならidはページ内にひとつというルールがあるので、わざわざ何かの配下や並列で指定する必要はありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問