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

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

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

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

jQuery

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

Q&A

解決済

4回答

1692閲覧

jQueryによるclassの取得方法 ※※質問内容編集中につき、ご回答はお待ちください※※

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

jQuery

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

1グッド

0クリップ

投稿2018/04/08 07:48

編集2018/04/09 01:20

###現在回答は募集しておりません。m(_ _)m

※※※※※※※※※※※※※※※※※※※※※※※※※
自身の質問内容が不明瞭でした。
ご回答頂く前に一度整理して出直したいと思います。
ご迷惑おかけし大変申し訳ございません。
※※※※※※※※※※※※※※※※※※※※※※※※※

###以下、元の質問文です
押したボタンに応じて表示を切り替えたいです。

次のHTMLで、たとえば『3』を入力して「btn_a」を押したときに、後述するような処理で表示を切り替えることはできますか?

html

1<div> 2 <input type="text" id="inputpoint" name="points"> 3</div> 4 5<div class="multi_list"> 6 <span id="multi_a">22</span> 7 <span id="multi_b">33</span> 8</div> 9 10<div class="flex"> 11 <div class="btn_a">ボタンa</div> 12 <div class="btn_b">ボタンb</div> 13</div> 14 15<table> 16 <tbody> 17 <tr> 18 <td class="apple num_a a10">a10</td> 19 <td class="apple num_a a12">a12</td> 20 <td class="apple num_a a19">a19</td> 21 <td class="grape num_a a20">a20</td> 22 <td class="grape num_a a24">a24</td> 23 <td class="grape num_a a28">a28</td> 24 <td class="banana num_b b62">b62</td> 25 <td class="banana num_b b67">b67</td> 26 <td class="banana num_b b69">b69</td> 27 </tr> 28 </tbody> 29</table>

『3』を入力して「btn_a」を押したときにやりたい処理、というのは次のような経緯です。
【.aXX についての処理】と【.bXX についての処理】があります。


【.aXX についての処理】

➀.num_a をもつtdを探す。
→.appleのtdが3つ、.grapeのtdが3つ判明。

➁「.apple に属する.aXX」と「.grapeに属する.aXX」を整理する。
→「.a10 .a12 .a19 」「.a20 .a24 .a28」

➂その中から、『3』(入力した値)の次に大きい数を取得する。
→「10」「20」

➃それらの.aXX 表示する。
→.a10 {display:table-cell;}
→.a20 {display:table-cell;}

➄他を非表示にする。
→.a12 {display:none;}
→.a19 {display:none;}
→.a24 {display:none;}
→.a28 {display:none;}


【.bXX についての処理】

➀.num_b をもつtdを探す。
→.bananaのtdが3つ判明。

➁「.banana に属する.bXXを整理する。
→「.b62 .b67 .b69 」

➂その中から、『66』(入力した『3』に#multi_aの値を掛けた数)の次に大きい数を取得する。
→「67」

➃その.bXX 表示する。
→.b67 {display:table-cell;}

➄他を非表示にする。
→.b62 {display:none;}
→.b69 {display:none;}

HayatoKamono👍を押しています

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

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

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

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

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

defghi1977

2018/04/08 08:39

point=10の時はどうするん?
退会済みユーザー

退会済みユーザー

2018/04/08 09:10

ご指摘ありがとうございます。これでは10が抜けてしまいますもんね。質問文を修正いたしました。
defghi1977

2018/04/08 09:57

なんとなくやりたいことは判る. しかし答える気力が無い. else if と境界条件についてもう一度理解し直して下さい.
Dot

2018/04/08 12:02

200だとapple .a1000が grapeで消えてしまうのを何とかしたいという事?bananaが死んじゃうのもそれじゃない?
x_x

2018/04/08 12:39

わたしにはまるで意味が分かりませんでした
退会済みユーザー

退会済みユーザー

2018/04/08 13:13

失礼いたしました。下手なjqueryを書いていたことが余計に混乱を招きました。内容を整理して質問文を修正しておきました。お手すきの折にご覧いただけたら幸いです。よろしくお願いいたします。
defghi1977

2018/04/08 13:15

もう考えたくないからどうとでも
退会済みユーザー

退会済みユーザー

2018/04/08 13:19

defghi1977さん、丁寧に返答しておりましたけれど、いつもそのようなご対応では悲しくなります。二度とお答えいただかなくて結構です。もすこし我慢強くなると良い人生になるかもしれません♪
defghi1977

2018/04/08 13:24

> defghi1977さん、丁寧に返答しておりましたけれど、いつもそのようなご対応では悲しくなります。二度とお答えいただかなくて結構です。もすこし我慢強くなると良い人生になるかもしれません♪ わかりました. コメントは残させていただきます.
退会済みユーザー

退会済みユーザー

2018/04/08 13:27

んっと?コメントを残す?消す?はい。どちらでも、まったくかまいませんよ?お互いにいつかこのページを見返したとき、思い返したときに、「あちゃちゃ恥ずかしいやりとりをしてしまったな」とほほえましく眺めることができるときが来るように、精進しましょう(^_-)-☆それでは。さようならです。
defghi1977

2018/04/08 13:28

>んっと?コメントを残す?消す?はい。どちらでも、まったくかまいませんよ?お互いにいつかこのページを見返したとき、思い返したときに、「あちゃちゃ恥ずかしいやりとりをしてしまったな」とほほえましく眺めることができるときが来るように、精進しましょう(^_-)-☆それでは。さようならです。
退会済みユーザー

退会済みユーザー

2018/04/08 14:06

defghi1977さん、あ、失礼しました。ご自身のコメントを反省し、「戒めのためのために消さずに残しておきます」という意味かと思ってしまいました。そうではなくて、私のコメントを保管してくださったのですね(??なぜ?なにをなさってるんですか??)
退会済みユーザー

退会済みユーザー

2018/04/08 14:08 編集

mizさん、HTMLはコピーしましたけれど、内容はかなり違うものだと思うのですが…まぁ、お感じになられたという点は留意しておきますです。
HayatoKamono

2018/04/08 20:22 編集

質問の前提として、そもそも、これは何の機能なのですか?num_aやmulti_aやa_xxxやbananaなどクラス名がありますが、これらは何を意味したものなのですか?質問の立ち位置が「機能Aを実装する私が考えた方法をより上手くやる方法を教えてください」というものだと思いますが、そもそもの「その私が考えた方法」が何やら複雑で小難しいことをやろうとしているようなので、機能Aが何なのか、また、どういったデータを扱うのかを説明し、その機能をシンプルに上手く実装する方法から回答を募った方が良さそうな気がします。
退会済みユーザー

退会済みユーザー

2018/04/09 01:12

ご指導ありがとうございます。おっしゃるとおりでした。私自身整理できておりませんでしたので、勝手ながらひとまず回答の募集をとじさせて頂きました。よく考えてから出直してまいります。
m.ts10806

2018/04/09 01:22

削除依頼を出して運営に削除してもらうか、自身で回答を書いてベストアンサーを選ぶことでしか閉じることはできません。冒頭のあの文章は何の意味もありませんし、見ている人にとってノイズにしかなりません。自分ルールを通すのではなく、サイトのルールに従いましょう。
退会済みユーザー

退会済みユーザー

2018/04/09 01:44 編集

mts10806さん、仰るとおりですね。ありがとうございます。
m.ts10806

2018/04/09 01:45 編集

https://teratail.com/help/delete-policy 読んだら分かりますが、回答がついているので削除依頼はできません。回答者と質問者の喧嘩が勃発していて閲覧者から通報があるような形で余程荒れていれば別ですが、今回ではそのケースには当たりません。何かしら整理して出直すのであればその旨を自身で回答に記載し、その回答をベストアンサーとすることでいったん解決済みとすべきです。
退会済みユーザー

退会済みユーザー

2018/04/09 01:46

読んだらわかりますね笑。ありがとうございます。
guest

回答4

0

ベストアンサー

回答者さんの目に止まるのを避けるため、いったん解決済みとさせて頂きます。ご迷惑をおかけし大変申し訳ございません。

投稿2018/04/09 01:48

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

x_x

2018/04/09 04:24

終了したのであれば、「※※質問内容編集中につき、ご回答はお待ちください※※」は削除したほうがいいのではないでしょうか? ずっと待っていることになります。
guest

0

こんばんは

ご自身でお書きになったJQueryコードありますか?
あればちょっと拝見させて頂きたいのですがよろしいでしょうか?
ご自身で書かないで人任せにしてしまうと回答は荒れてしまいますよ。
あと、過去質問拝見させて頂きましたが過去に回答して頂いた方に思い通りの回答を頂けなかっただけで投げやりなコメントをするのは如何なものかと私は思いました。

投稿2018/04/08 16:06

編集2018/04/09 00:50
haruniku

総合スコア527

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

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

退会済みユーザー

退会済みユーザー

2018/04/09 01:13

おはようございます。jQuery質問編集前にあったのですけれど、ちょっといったん質問内容を整理してきたいと思います。ご回答の募集をいったん止めさせてくださいませ。アドバイスありがとうございます。
guest

0

一括というのがどの程度かわかりませんが、こんな感じではどうでしょうか?

ただし前提として、tdの10,12,19はソート済みであることが条件になります。

クラスにデータを持たせずにカスタムデータ属性使えばそのまま数字として利用できるので
こちらのほうが良いかと、とりあえず下記HTMLには クラスにapple num_a a10 を残しましたが
apple以外はこの判定には不要ですね、残りのbanana, grapeの実装は同じようにできると思います。
【追記】input の値については下記の例で省きましたが適切なに取得してください。

html

1<table> 2 <tbody> 3 <tr> 4 <td class="apple num_a a10" data-num-a="10">a10</td> 5 <td class="apple num_a a12" data-num-a="12">a12</td> 6 <td class="apple num_a a19" data-num-a="19">a19</td> 7 </tr> 8 </tbody> 9</table>

js

1var apples = $('td.apple'); 2var isNotFoundApple = true; 3var inputValue = 11; 4 5apples.each((index,elem) => { 6 if (isNotFoundApple && $(elem).data('num-a') > inputValue) { 7 $(elem).css('display', 'table-cell'); 8 isNotFoundApple = false; 9 } else { 10 $(elem).css('display', 'none'); 11 } 12});

投稿2018/04/08 16:02

編集2018/04/08 16:05
euledge

総合スコア2404

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

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

退会済みユーザー

退会済みユーザー

2018/04/09 01:15

的を得ない質問内容にもかかわらず、このようなご回答を頂戴できて感謝です。少し思っていたのとは違いますけれど、HTMLにカスタムデータ属性というのがあることをはじめて知りました。よいヒントを誠にありがとうございます。検索して出直してきたいと思いますので、ご回答の募集はいったんとじさせてくださいませ。
guest

0

最初の状態のjavascriptなら
ボタンを押した後
最初に

javascript

1$("td").css("display","none");

で全部消して
ifelse ifとかで表示していくみたいなので行けます

一括は可能ですがかなり難しいです

投稿2018/04/08 14:53

Dot

総合スコア120

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

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

退会済みユーザー

退会済みユーザー

2018/04/08 15:10 編集

ありがとうございます。実は「入力値以上で最も近いクラスを表示」などの経過が質問の目的なのです。その経過が必要なHTMLなのです。 というのは、「,a10」や「,a12」などのクラスはtdごとに無数にあるために、最初の状態のjavascriptのように一つずつ指定してifで分ける方法ではチョットやってられないわけです(笑)。 そこで、「入力値以上で最も近いクラスを探す」という方法があったらいいなと考えたんですね。 (3を入力したら、それ以上で最も近いクラスである.a10を表示する。13を入力したらそれ以上で最も近いクラスであるa19を表示する。などです。) 質問ではかなり簡略化して載せていますので、astさんのようなご回答は至極ごもっともだと思います。せっかくお答えいただいたのに、申し訳ございません。 非表示にするだけ、クラスを取得するだけ、取得したクラスの数字部分を取り除くだけ、などならばなんとかできたのですが、質問にあるような経過がなかなかどうしてもできずに、質問させて頂いた次第です。 ご回答、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問