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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

ソート

複数のデータを、順序性に従って並べ替えること。 データ処理を行う際に頻繁に用いられ、多くのアルゴリズムが存在します。速度、容量、複雑さなどに違いがあり、高速性に特化したものにクイックソートがあります。

JavaScript

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

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

Q&A

解決済

1回答

1477閲覧

display:none;をカウントせず擬似クラスを適応

design_er

総合スコア4

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

ソート

複数のデータを、順序性に従って並べ替えること。 データ処理を行う際に頻繁に用いられ、多くのアルゴリズムが存在します。速度、容量、複雑さなどに違いがあり、高速性に特化したものにクイックソートがあります。

JavaScript

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

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

0グッド

0クリップ

投稿2020/08/15 07:49

参考URL:https://teratail.com/questions/159643
自分は上記のリンクを参考に、ソートを取り付けてみました。想像通りにソートは動いています。
しかし、ソートが表示されるボックスが、偶数と奇数で画像が右左が入れ替わるデザインになっていて、cssの擬似クラス:nth-child(2n)を使用しているため、ソートで引っかからなかったdisplay:none;部分もカウントされてしまい、ソートによっては、画像が交互にならず見栄えが良くありません。

display:none;要素以外をカウントして、擬似クラス:nth-child(2n)が適応されるようにしたいと思っていて、下記のURLで質問されていることかと思い、真似をしてやってみましたが、実装できませんでした。(該当のソースコードとして記載させていただきました)
参考URL:https://teratail.com/questions/182627

java scriptの知識もほぼなく、上記のURLで言われている、jsを付け足し、要素に"x"を入れただけです。。
理解が間違っていますでしょうか?
もしくは他の方法で、display:none;をカウントせず、擬似クラスを適応させる方法があれば教えていただきたいです。

ソースコードを簡素化して作ってみました。sectionがいくつも繰り返される感じで、検索もa,bだけではなくたくさんあります。

該当のソースコード

html

1<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 2<script> 3$(function(){ 4 $('.search span').on('click',function(){ 5 $(this).addClass('is-active').siblings().removeClass('is-active'); 6 var g=$(this).data('group'); 7 if(g==""){ 8 $('.shops section').show(); 9 }else{ 10 $('.shops section').hide(); 11 $('.shops [data-group*='+g+']').show(); 12 } 13 }); 14}); 15</script> 16<script> 17let es = document.querySelectorAll("[x]"); 18 19es.forEach(e => {e.parentNode.removeChild(e)}); 20</script> 21 22<div class="search"> 23 <span class="search_item is-active" data-group="">All</span> 24 <span class="search_item" data-group="a">A</span> 25 <span class="search_item" data-group="b">B</span> 26</div> 27 28<section class="shops" data-group="a,b"x> 29 <div class="shops_img"> 30 <img src="○○.jpg"> 31 </div> 32 <div class="shops_txt"> 33 <p>テキスト</p> 34 </div> 35</section> 36<section class="shops" data-group="a" x> 37 <div class="shops_img"> 38 <img src="○○.jpg"> 39 </div> 40 <div class="shops_txt"> 41 <p>テキスト</p> 42 </div> 43</section> 44<section class="shops" data-group="b" x> 45 <div class="shops_img"> 46 <img src="○○.jpg"> 47 </div> 48 <div class="shops_txt"> 49 <p>テキスト</p> 50 </div> 51</section>

該当のソースコード

css

1.shops .shops_img { 2 float: right; 3} 4.shops .shops_txt { 5 float: left; 6} 7.shops:nth-child(2n) .shops_img { 8 float: left; 9 } 10.shops:nth-child(2n) .shops_txt { 11 float: right; 12}

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

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

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

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

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

guest

回答1

0

ベストアンサー

cssのセレクタで、プロパティの値を参照することはできないので、
javascriptでattribute(属性)を付与して、そのattributeを:notで除外してあげるとできるかもしれませんね。
そもそものHTMLとCSSの構成をしっかりと組まないといけないですね。

投稿2021/05/22 11:58

geta

総合スコア241

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

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

design_er

2022/01/07 00:29

javascriptの知識が必要ですね。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問