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

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

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

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

HTML5

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

jQuery

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

Q&A

解決済

5回答

1455閲覧

jQueryのaddClass指定したクラスは何者??

退会済みユーザー

退会済みユーザー

総合スコア0

CSS3

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

HTML5

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

jQuery

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

0グッド

4クリップ

投稿2019/06/01 10:18

編集2019/06/01 12:05

環境:Mac、Atom

ProgateのjQueryにて下記のコードでアコーディオンを作成しました。
(※これは、自分で1から作成したコードではなく、Progateで用意されていたものを使用)
※質問は下にあります。

HTML/CSS/jQueryのコード

HTML

1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <title>jQuery練習</title> 6 <link rel="stylesheet" href="../css/style.css"> 7</head> 8<body> 9 10 <div class="faq-wrapper"> 11 <div class="heading"> 12 <h2>FAQ</h2> 13 </div> 14 <div class="faq"> 15 <ul id="faq-list"> 16 <li class="faq-list-item"> 17 <h3 class="question">質問質問質問質問質問質問</h3> 18 <span>+</span> 19 <div class="answer"> 20 <p>回答回答回答回答回答回答</p> 21 </div> 22 </li> 23 <li class="faq-list-item"> 24 <h3 class="question">質問質問質問質問質問質問</h3> 25 <span>+</span> 26 <div class="answer"> 27 <p>回答回答回答回答回答回答</p> 28 </div> 29 </li> 30 <li class="faq-list-item"> 31 <h3 class="question">質問質問質問質問質問質問</h3> 32 <span>+</span> 33 <div class="answer"> 34 <p>回答回答回答回答回答回答</p> 35 </div> 36 </li> 37 </ul> 38 </div> 39 </div> 40 41 <script src="../JavaScript/jquery-3.4.1.min.js"></script> 42 <script src="../JavaScript/script.js"></script> 43</body> 44</html> 45

css

1body { 2 margin: 0; 3} 4 5a { 6 text-decoration: none; 7} 8 9.faq-wrapper { 10 background-color: #e6ecf0; 11 text-align: center; 12 padding-bottom: 80px; 13 color: #5f5d60; 14} 15 16#faq-list { 17 width: 500px; 18 margin: 0 auto; 19 padding: 0; 20 list-style: none; 21} 22 23.faq-list-item { 24 margin:10px; 25 border-bottom:1px solid #ccc; 26 position:relative; 27 cursor:pointer; 28 text-align: left; 29} 30 31.faq-list-item h3 { 32 font-size: 14px; 33} 34 35.faq-list-item span { 36 position:absolute; 37 top:0; 38 right:5px; 39 color:#ccc; 40 font-size:13px; 41} 42 43.answer { 44 font-size: 12px; 45 padding: 5px 0px; 46 margin-bottom: 15px; 47 display: none; 48} 49/*↑displayはnoneに */ 50

jquery

1$(function() { 2 3 $('.faq-list-item').click(function() { 4 var $answer = $(this).find('.answer'); 5 if ($answer.hasClass('open')) { 6 $answer.removeClass('open'); 7 $answer.slideUp(); 8 $(this).find("span").text("+"); 9 10 } else { 11 $answer.addClass('open'); 12 $answer.slideDown(); 13 $(this).find("span").text("-"); 14 } 15 }); 16 17 18}); 19

質問 2つあります。

質問タイトルが的確ではないかも知れませんが、短文で記載する上で的確な文章が思い当たらなかった為。


このjQueryコードが表している意味を、文章で書くとしたら何と表現しますか?
このような意味であっていますか?(論理的に頭に入れた方が、理解しやすい為)
違う場合は訂正願います。↓

「.faq-list-itemセレクタをクリックした際の話。
まず、$answerには、クリックした際にそのクリックイベントが起こった要素で、その子要素の.answerを代入。
もし、$answerにopenと言うクラスが**入っていた場合
$answerからopenクラスを
取り除き**、$answerをslideUpして隠し
クリックされた要素の中のspan要素のテキストを + に変更する。

もし、$answerにopenと言うクラスが**入っていない場合
$answerには、openクラスを
付与し**、$answerをslideDownで表示し
クリックされた要素の中のspan要素のテキストを - に変更する。」


ここで出てくる、 **open **は一体何者なんですか?
removeClassやaddClassがある事からも、クラスと言う事はわかりますが、
cssにはそのopenセレクタは記載どこにもありません。
試しにopenを適当な文字に置き換えても出来たと言う事からも、jQueryで完結していると思うのですが。
この open は具体的に「何」でどう作用しているのでしょうか?

何故、open クラスがついた要素はもともとhtmlには存在しないのに、
jqueryの if文では、「もしopenが合った場合、もしopenがなかった場合」というコードなるのですか?
elseの「もしない場合」は、 open クラスを付与するとの命令ですが、
openクラスつけたところで、cssでopenセレクタで指定しているわけでもないので、
何がどう変わるか理解出来ない状況です。

上記2点、宜しくお願いします。

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

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

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

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

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

m.ts10806

2019/06/01 11:16

自身で組まれたコードなのに他人に説明求めるのは如何なものでしょうか。
退会済みユーザー

退会済みユーザー

2019/06/01 11:39

Progateという、web学習教材にあったコードです。 注意書きで、 「※これはProgateと言う学習教材にあったコードで、自分で1から記述したコードではございません。」 と記載すべきでしたか? ①と②の回答を聞きたいのですが、いかがでしょうか。 宜しくお願いします。
m.ts10806

2019/06/01 11:52

別から持ってきたものであれば出典の明記は必要です。何も記載がなければ主語は投稿者です。
退会済みユーザー

退会済みユーザー

2019/06/01 12:08

なるほど、確かにそうですね。 仮に自分で記述したコードだったとしても、 質問の趣旨からニュアンスを汲み取って頂けると思ってました。 追記しました。 ご回答、宜しくお願いします。
m.ts10806

2019/06/01 12:21

ちょっと細かいこと言うと、回答者観点では「自身で書いたコードは自分が一番分かっているもの」という前提があります。例えコピペであっても目的を実現するためであれば意味をきちんと理解して持ってこないと使いこなせないので。 コピペ元のコードが理解できないのであれば、「自身のコードに組み込んだコピペコード」よりも「このサイトのこのコード」と提示された方が見やすいです(ただコードの解説依頼って厳密に言うと非推奨質問にあたるので、私も今回ちゃんとは答えてません)
guest

回答5

0

直接的な回答をしない理由

まず、「$answer.addClass('open') が何のためにあるのか」を一から十まで筋道立てて説明する事は可能です。
しかし、そうした場合、質問者さんは回答にある考えの流れをなぞって答えを出すことになり、「自分の頭で真に理解した」とはいえないだろうと考えています。

「自分の頭で真に理解した」というのは、回答にある文章を全て忘れて、一から自分の言葉で全てを説明できる状態の事です。
これが出来る人は、回答で構成されている中核となる要素を分解して自分の頭で考えを再構築し、自分の言葉で説明しなおすという作業をしています。
経験上、そういう方の質問は「このコードはこういう動きをしており、こうなるはずなのですが、なぜかこうなってしまいます」のように自分の考えを添えながら、「自分の考えから想定される結果」と「事実上の結果」に相違がある部分を質問します。
「わからない部分」がより明確で具体的です。

残念ながら、質問者さんはそうした質問ではない為、一から十まで説明するのはかえって理解から遠ざかると考えています。

ヒント

というわけで、考え方のヒントだけを出します。

  • 1回目のクリック時の動きはどうなっているか
  • 2回目のクリック時の動きはどうなっているか
  • 1回目/2回目の動きが異なる場合、どうやってその違いを認識しているか

基本的にはコードの動きをなぞるだけではダメで、設計者の気持ちになって、「この機能をどうやって実装しようか」という観点に立つのが重要と思います。

車輪の再発明

「設計者の気持ちになってみる」という観点では、一から自分で作り直してみるのも有効です。
一般に車輪の再発明はプログラミングでは敬遠される行為ですが、再発明する事で原理をよく理解できるようになります。

※余談ですが、「もっと良い実装があるのに…」と思ってしまう問題なので、別の実装法を考えてみるのも面白いと思います。
おそらく、Progate出題者はjQuery APIを熟知していません(APIを知っていれば、jQueryを使用していながら、独自コードに頼らない部分があります)。

Re: muchitaro さん

投稿2019/06/01 13:30

編集2019/06/01 13:54
think49

総合スコア18156

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

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

think49

2019/06/01 13:57

車輪の再発明を追記しました。 無駄に思えるかもしれませんが、深く理解できるので、私もよく実践しています。
退会済みユーザー

退会済みユーザー

2019/06/01 14:01

いえ、単純に、 何故、openクラス(名前の事ではなく)が出てきたのか思っただけです。 >このコードはこういう動きをしており、こうなるはずなのですが、なぜかこうなってしまいます →それは質問の種類によるかと存じます。私の過去の質問でもそう言った質問はあると思います。 ですが、今回の質問は、「こうなるはず」や「なぜかこうなってしまう」と言うような疑問、質問ではありません。 「クラス」と言うと私の想像では、cssで何かしらのプロパティを指定するものだと思っていたのにも関わらず、 cssにはない(もちろんhtmlにも)openクラスが jQueryのコードに出てきたのか。 この open はどんな作用(働き)をするのかの意味、概念がわからないだけです。 それを、「Progateの作者が作ったコードだから、私にはわかりません」と言われましても...。 >基本的にはコードの動きをなぞるだけではダメ →これは私の事を思って言って頂いているのでしょうか? 私はエンジニアではありません。趣味程度でやっています。(行く行くは簡単なweb制作できて案件に繋がれば面白いなと思っている程度) まぁ、文章だとどうも伝わりづらいですね。 確かに、「わからない部分が明確」ではないのかも知れません。 でも何となくわかりませんか?笑
think49

2019/06/01 14:12 編集

何か思い違いをしておられるようですが、私は質問の意図を理解した上で直接的な回答をしていません。 その理由は回答に書いた通り、「自分の頭で真に理解した」という状態に持っていく事が重要と考えるからです。 だから、ヒントに留めましたが、そのヒントに対して返信がないので、私には手助け出来ない状態です。
退会済みユーザー

退会済みユーザー

2019/06/01 15:00 編集

他スレッドと同じ事書きますが。 「ヒント」とは示唆してくれてるのでしょうか? 失礼ながら、それはお節介であります。 ここは「エンジニア向け」と言うだけで、エンジニアではないと登録不可ではありませんよね? 何故、そちらではわかっていて教えないのでしょうか? それはただの、意地が悪いのでは? 私の為?を思って善意で、ヒントや示唆頂いてるのはわかるが、 こちらは失礼ながら、そんな事求めておりません。 「自分も苦労してきたのだから、そう簡単には教えないよっ。それにあなたの為にならないしねっ♪」 と言ったところでしょうか? これはこちらが求めている事ではありません。 質問者の立場から言うのもアレですが、 普通に「openはこう言う意図で、概念によってつけられています」と書いて頂ければ良いのでは? ちょっと冷たすぎやしませんかねぇ? 今回は、mts10806さんに回答依頼させて頂いてますが、他のお二人には依頼している訳ではありません。 故に、答えたくないのなら、恩着せがましい「示唆」するのではなく、 答えなければよくないでしょうか? その根性が、openクラス並みに理解できないですわ、ホント。
Zuishin

2019/06/02 00:42

「理解したい」という質問だと思ったので「理解を深める最適な方法」を書いたら「いじわるするな」と言われたということですね。
Lhankor_Mhy

2019/06/02 01:41 編集

横からすみません。 > 答えたくないのなら、恩着せがましい「示唆」するのではなく、答えなければよくないでしょうか? その伝でいけば、あなたも役に立たないと感じた解答について、「お節介」などと返すのではなく、スルーすればいいのではないでしょうか。 それなのにスルーしなかった、ということは何か理由があるはずです。 ということに思いを致せば、あなたが「下に見られた」「馬鹿にされた」のような感情を抱き(憶測ですみません)、スルーできずにそのコメントをつけざるを得なかったように、think49 さんも「答えたくない」わけではなかった、ということは想像できるかと思います。 悪意なのか善意なのかはともかく、あなたに伝えたかったことがあるということです。 はっきり言ってしまうと、think49 さんのようなご回答よりも、コードを提示しておしまいな回答の方が回答をする立場からすると楽であり、かつベストアンサーを取りやすいのです。 私などは、「いいんじゃないの、どうせ初心者には丁寧に教えてもわからないんだし、コードの断片でも投げておけば満足するんだから」と思うこともあります。個人的には、そのような「正解」だけをポンと投げるような回答の時の方が、むしろ質問者を下に見ていますね。言葉は悪いですが、ペットにえさを与えるような感覚です。 think49 さんは他の質問でもしばしばあえて損な役回りをしていて、そのことが伝わらずスルーされてしまうことについて(悲しくは思ってるでしょうけど)慣れてらっしゃると思うのですが、「お節介」と言われるのはさすがに気の毒……
退会済みユーザー

退会済みユーザー

2019/06/02 02:22 編集

Zuishinさん: 何とも文章だと伝わりづらいもんですな。 Lhankor_Mhyさん: >その伝でいけば、.....あるということです。 →まず、私がスルーする必要はどこにあるのでしょうか?ありませんよね? 来たからから返信したまで。 「下に見られた」「馬鹿にされた」のような感情は今回は特別ありませんね。 伝えたい事はわかりますからね。 ただ、私は基本、(どうでも良い回答は別として)スルーする事はしたくありませんし、するつもりもない。 一番、不愉快なのは、質問に対する答えを言わず「示唆」する事です。 ヒント?は?随分と偉いのですな。といったところでしょうか。 >はっきり言ってしまうと、......ような感覚です。 →ですからこれはあなたの考えであり、質問者である私はそう思わないわけで。 例え善意であっても、それは「ありがた迷惑」なんですよ。 違いますか? もう一度言います。「ありがた迷惑」。 普通に open の概念を言及すれば良いものを...。 それを回答もしないで擁護だけしに来たあなたの方が、私は正直引いてますが...。 ココはエンジニア養成所かなんかですか?一つの組織として回ってるわけではありませんよね? 様々な人間がいるわけで、質問者は全てエンジニアというわけではないのですよ。 それを鼻から「駆け出しエンジニアのキミに教えてあげよう。でも簡単には教えてあげないよ。何故ならキミのためにはならんからね!ヒントだけあげる」と言われてもね笑 https://teratail.com/questions/188907 ↑この jjj_aaa のような人間が多くて面倒ですわん。 で、自分は回答しないで他人を擁護する為にコメントしに来たのでしょうか?
think49

2019/06/02 02:50

Zuishinさん、Lhankor_Mhyさん フォロー&代弁ありがとうございます。 心情まで慮ってくれた事にとても感謝しています。 muchitaroさん ヒントはあなたが自己解決できると判断した情報量を出しましたし、考えても分からなくて追加質問されれば答える準備が私にはありました。 しかし、あなたは「ヒントを与える人=随分と偉い」というお考えのようですので、もう結構です。 他人の善意を悪意に置き換えておられるようですが、私が質問者の立場ならjjj_aaaさんのように自分で考えるチャンスを与えてくれる「示唆を含んだ回答」はとてもありがたい存在です。 他人に教えられるよりも、自分で考えて出した結論の方が記憶に残るからです。 他人が与えた「正解」を「自分の考え」にまで昇華させるのは、回答文にも書きましたが、かなり難しいのです。 慣れてくれば出来ますが、知識的に成熟していない分野だと途端に難しくなります。 私はそれを避ける為に直接的回答をしませんでしたが、あなたにとっては無価値で有難迷惑な回答のようですので、私の回答はスルーして下さい。 ただ、他人の考えを喧嘩腰で否定するのは止めた方がよろしいかと思います。
Lhankor_Mhy

2019/06/02 03:11

> で、自分は回答しないで他人を擁護する為にコメントしに来たのでしょうか? 擁護、と取られるのはいささか不本意ですね、仲立ちをしたつもりだったので…… 回答をしていないのは、他の方の回答で十分だと判断したためですが、不足があるようでしたら質問文にさらなる疑問点をご追記いただくといいかもしれませんね。それを見て回答をするかもしれません。 > ですからこれはあなたの考えであり、質問者である私はそう思わないわけで。 例え善意であっても、それは「ありがた迷惑」なんですよ。 わかります。 ですが、それも「あなたの考え」かもしれません。質問者に、そのことが事前に伝わっているかというと自明ではないと考えます。 これは提案なのですが、棲み分けのために、ご質問に「正解以外の余計なごたくは不要」などと書かれてはいかがでしょうか。我々はお互いに接触を少なくした方が幸せの総和が上がるのでは、と感じています。
退会済みユーザー

退会済みユーザー

2019/06/02 03:31

>仲立ちをしたつもりだったので →そうでしたか。...私の文章読解力が乏しいせいか、どう見ても擁護に見えてしまいました。 >提案なのですが、棲み分けのために、ご質問に「正解以外の余計なごたくは不要」などと書かれてはいかがでしょうか。 →そうです!それは私も以前から思っていました。 が、仮に「正解以外の余計なごたくは一切不要」と記載した場合、 回答者の心理的に「本当に回答のみをしようとした人間」が見た際、 回答する気が失せるのでは?という懸念と同時に、 それこそ煽りで「わざわざ余計なごたくを並べる回答者」が出現しそうなので、記載はしていません。 私はその「わざわざ余計なごたくを並べる回答者」ネットでイキる人間をスルーできるほど、人間できちゃいないもんでして。黙ってるわけにはいかないのです。(圧倒的SNS不向き者...笑) と言った感じです。しかし文章って伝わりづらいものですな... 直接、電話や対面システムがあれば良いのに...。 それはもはや別サービスだし、無料ではありえませんね笑 自分の貴重な時間をあげるし、電話もOKだよ!(何故なら解決してあげたいから)と言う人間だけが集まるとサービスがあれば良いのに..。(ポイントは文章ではなく対話、電話)
Zuishin

2019/06/02 03:34

なんでこんなのの電話を受ける人がいると思ったんだろう。
Lhankor_Mhy

2019/06/02 03:44

> muchitaroさん わかりました。では、あなたのIDを覚えてなるべく質問を見ないようにして対処します。 NG機能の実装が待たれますね。 > ネットでイキる人間をスルーできるほど、人間できちゃいないもんでして。黙ってるわけにはいかないのです。 よくわかりますよ。 それではよそ様のコメント欄ですのでこの辺で……
退会済みユーザー

退会済みユーザー

2019/06/02 03:53

>Zuishin >なんでこんなのの電話を受ける人がいると思ったんだろう。 例えばの話よ。Yahoo!知恵袋見ればわかる通り、答えたくてたまらない人間や、揚げ足取りを生き甲斐にしてる愚かな人間が腐る程いるだろ? それなら、例えば電話機能があっても登録する人間はわりといてもおかしくないと思ったまで。 別に深い意味はない
退会済みユーザー

退会済みユーザー

2019/06/02 04:22

> と言った感じです。しかし文章って伝わりづらいものですな... > 直接、電話や対面システムがあれば良いのに...。 そんなサービスいらねぇだろ。 おらは、ネチネチグチグチ嫌味言う奴が黙ればいいだけだと思うぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 04:33

goku59 例えばの話よ笑 例えば。 好きな奴がやればええ。それだけだgokuよ
guest

0

おす、おら、goku。

おめぇは「なんでopenクラスを付けたり外したりしてるのか全くわかんねぇぞ」って言ってるみてぇだが、
それは、すげぇ簡単な事だぞ。

openクラスはプログラミングで昔から使われている「フラグ」の代わりだぞ。

例えば、アコーディオンが1つだけだったとするだろ?
その場合は、すっげぇ簡単に書くとこうなる。

jquery

1$(function() 2{ 3 var answer_opened = false; // ←アコーディオン開閉フラグ 4 5 $('.faq-list-item').click(function() 6 { 7 var $answer = $(this).find('.answer'); 8 9 if (answer_opened === true) // アコーディオンが開いていたら 10 { 11 $answer.slideUp(); // アコーディオンを閉じて 12 $(this).find("span").text("+"); 13 answer_opened = false; // 開閉フラグを下げる 14 } 15 else // 開いて無かったら 16 { 17 $answer.slideDown(); // アコーディオンを開いて 18 $(this).find("span").text("-"); 19 answer_opened = true; // フラグを立てる 20 } 21 }); 22});

だけんど、アコーディオンは沢山あんだろ? そしたらおめぇ、開閉フラグはその数だけ作んなくちゃ行けねぇ。
管理も大変になってくる。おら、そんなめんどくせぇ事はしたくねぇ。

だからな、フラグをDOM要素そのものに埋め込んじまおうってのが、その「open」だ。

openクラスが無いアコーディオンは閉じているアコーディオンだから、クリックされたら開く動作をさせる、
openクラスがあるアコーディオンは開いているアコーディオンだから、クリックされたら閉じる動作をさせるってぇわけだ。おもしれぇだろ? おら、わっくわくすっぞ。

質問のサンプルは結構めぇから使われてるやり方だが
最近はclassに埋め込むよりも、HTML5で実装されたカスタムデータ属性を使って

$(selector).attr("data-opened", true);

ってやった方がいいと思うぞ。

ただ、openってクラス名はダメだと思うぞ。既に開いている状態を示すフラグなんだから、過去形にしねぇとな。
Progate の奴らはまともな命名も出来ねぇらしいな。修行が足んねぇぞ。

おらの説明はこんな感じだ。chi-chiが晩飯のオカズ狩って来いってうるせぇからそろそろで行ってくっぞ。
おめぇももっと修行して天下一武道会でおらと握手だ。

投稿2019/06/01 21:22

編集2019/06/01 21:49
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

hentaiman

2019/06/01 22:06

jQuery使うならattrじゃなくてdata使えばいい
退会済みユーザー

退会済みユーザー

2019/06/01 22:09

おめぇは、全くなんにも分かっちゃいねぇみてぇだな。
hentaiman

2019/06/01 22:13

true false を使いたいならpropを使えばいい
退会済みユーザー

退会済みユーザー

2019/06/01 22:17

おめぇは、全くなんにも分かっちゃいねぇみてぇだな。
退会済みユーザー

退会済みユーザー

2019/06/01 22:28

サイバイマンかヘンタイマンかよくわかんねぇけど、書いてある事の意図がわかんねぇんだったらよけぇなおしゃべりはやめて修行した方がいいと思うぞ。
退会済みユーザー

退会済みユーザー

2019/06/01 23:26 編集

たまげたなぁ、サイバイマンだかヘンタイマンだかいう奴、 https://teratail.com/questions/191372#reply-284001 こんなわけわかんねぇ事書いてる奴じゃねぇか。 ほんとに、余計なおしゃべりしてねぇでもっと修行した方がいいと思うぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 03:09

おう、とりあえずサンキュ。
退会済みユーザー

退会済みユーザー

2019/06/02 03:15

おめぇもてぇへんだなぁ、ややこしいのに絡まれて。 あいつらそれなりに修行は積んでるみてぇだけど、技がネチネチして気持ちわりぃんだよな。 弱いやつの相手なんかしてないで、界王神さまんとこいって修行してくればいいのにな。
退会済みユーザー

退会済みユーザー

2019/06/02 03:35

そうなんよ笑 でも、中にはmtsさんのように何回か世話になった方もいるわけでな、複雑だわ。 それなりに修行か笑 俺の何100倍と知識があるのだろうけど、それならそれを踏まえてナイスな回答して欲しいものだよな。
退会済みユーザー

退会済みユーザー

2019/06/02 03:41

ここだけの話だけどな、おめぇの言ってる、 > 質問者の立場から言うのもアレですが、 > 普通に「openはこう言う意図で、概念によってつけられています」と書いて頂ければ良いのでは? > ちょっと冷たすぎやしませんかねぇ? は、おら、なんにも間違ってねぇと思うぞ。 あいつらは鶴仙流だから心が歪んじまってるんだよ、きっと。
退会済みユーザー

退会済みユーザー

2019/06/02 03:49

ありがとう。 ただ、俺にも多少なりとも非があるわけで。 相手の言い分もわからなくもない。 ただ、一発目の回答ならまだしも、返信で直接的な回答を何度も問うてるのに、 「非推奨質問」やら「キミのため」と言われると、「余計なお世話、ありがた迷惑」と思ってしまうのも事実。 文章って難しいよな。対面ならそうはならんだろうに。 それと、ごめん、ドラゴンボールネタわからんから鶴仙流と言われてもピンとこない笑
guest

0

ここで出てくる、 open は一体何者なんですか?

openしてるかどうかの判断に使いたかっただけだから、$answer.attrで取得しても良いし、addClassじゃなくてattrやdataを使っても良い
hasClassって書いてあるのが読みやすい(と思ったから)使ってるんだろうけど、勉強する立場からしたらattrとかで書いてくれてる方が理解しやすいだろうと思う

投稿2019/06/01 15:41

hentaiman

総合スコア6389

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

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

退会済みユーザー

退会済みユーザー

2019/06/02 03:43

頂いた回答ですと、 もう何度も書いてますが ・openクラスの概念 ・何故、ないものを、if文で「もしあったら」「もしなかったら」の話になるのかが、本質的に理解できません。 mtsさん曰く、的を得たご回答なのでしょうが、私の頭では「直接的な回答になっていない」と思いました。 >attrやdataを使っても良い とありますが、恥ずかしながらそもそもattrやdataって何ぞや?レベルなので。 cssの擬似要素で見かけた事あるな...レベルです。 何故、attrやdataの話が出てきたのかもサッパリわかりません。(的を得ているのでしょうが) あくまでも、今回の質問は「他に方法ない?」ではなく、....... もう他のスレッドでも腐る程書いてますので割愛します。
hentaiman

2019/06/02 04:04

> ・openクラスの概念 多分CSSの事が頭にあるせいで混乱しているので一旦CSSの事を忘れてください。 もしかしたらopenという名前が分かりにくいのかも? > ・何故、ないものを、if文で「もしあったら」「もしなかったら」の openではなく、仮にisOpenという名前を使うとして説明します jQueryの hasClass('isOpen')は、isOpenクラスを持っていたらtrue、持っていなかったらfalseを返します 初期状態ではhtmlを見て分かる通り、isOpenクラスを持っていません なので最初のクリックではhasClass('isOpen')の結果がfalseになるので、開く処理(slideDown)をして、ついでにクラスにisOpenを持たせてます 次にクリックすると、先の処理によってisOpenクラスを持った状態になっているためtrueが返るので、閉じる処理(slideup)になるというだけです attrとかdataにしたら?と言ったのは <input type="button" class="isOpen"> と書いてあると、CSSと混同してしまうのだろうって事と <input type="button" data-is-open="0( or 1)"> という書き方をしていればそもそも質問文にあるような混乱が起きないんじゃないかって事でdataとかの話をしました data-is-openみたいな形のものを扱いやすくしているjQueryのメソッドがdataなので、dataやattrと言いました > あくまでも、今回の質問は「他に方法ない?」ではなく、....... 他の方法を提示したくて書いたわけではなく、classを使っているせいで混乱していると思ったから。 attrやdataを知っていると思ったので、この回答をすれば伝わると思ったから。
退会済みユーザー

退会済みユーザー

2019/06/02 07:24 編集

openの名前については、最初のmtsさんの返信のところでも書きましたが、「何でもOK」と言う事はわかってます。 attrとdataは別なパターンなので一旦スルーします。(ありがとうございます。後々見返します) 他の質問サイトでも、同様の質問をしていて、 一応完璧ではありませんが、下記の回答をもらい、概念は理解できたと思っています。↓念の為記載します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ アコーディオンメニューのコーディングに関して、回答します。 ①は、概ね合っています。 var $answer = $(this).find('.answer'); >$answerには、クリックした際にそのクリックイベントが起こった要素で、 その子要素の.answerを代入。 変数「 $answer」は、 「faq-list-item」クラス属性が付いた要素の配下における 「answer」クラス属性のHTMLコレクションです。 ②の「 open は一体何者なんですか?」 また、 「この open は具体的に「何」でどう作用しているのでしょうか?」 について テクニカルタームとしては、「フラグを立てる」という作業です。 具体的に言い換えると、 マラソンで折り返し地点に到達した時に、 「このランナーはここまで来たんだ」ということで、 マジックペンで手に色を付けられます。 何かの目印を付けないと、 折り返し地点に到達していないのに 引き返されても、まったくわかりませんからね。 それと同様のことをしている訳です。 HTMLのタグには、いろいろな属性が付けられます。 このアコーディオンメニューの場合は、 質問という「question」クラスの付いたH3タグをクリックしたら、 ・その直下のSPANタグ内の記号を変える ・かつ、「answer」クラスの付いたDIVタグの表示属性を変える そういう処理をしている訳ですね。 その際、H3タグのクリック時に、 回答のタグが開いているのか、閉じているのかわかりません。 そこで「open」というクラスを用意しています。 ・そのクラス属性が在るなら、閉じる その時は、「open」クラスを取ってしまう ・そのクラス属性が無いなら、開く。 開けた目印として、 「開けましたよ」という意味付けの「open」クラスを付けておく そうした処理をしていることになります。 >試しにopenを適当な文字に置き換えても出来た そうです。どんな文字でもいいんです。 ただ、モノを開けたら「オープン」と言うので、 便宜的に「open」という単語を使っているだけです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
hentaiman

2019/06/02 06:34

どうしたの突然、ひとりごと?
退会済みユーザー

退会済みユーザー

2019/06/02 06:47

> <input type="button" data-is-open="0( or 1)"> is-openって何だ? openは動詞だぞ。 be動詞+動詞の現在形って何だ? おら、そんな文法見たことねぇぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 07:03

>hentaimanさん 独り言とは...?
Lhankor_Mhy

2019/06/02 07:07

この場合は形容詞かと。 手元の辞書で見ると be open の文例は結構ありました。
hentaiman

2019/06/02 07:20 編集

最初は「最初のmtsさんの返信のところでも書きましたが」って書いてあったけど、途中からよく分かんない文章だったので 最初はコメント書いてるつもりが途中から独り言になっちゃったのかなと・・・
退会済みユーザー

退会済みユーザー

2019/06/02 07:22

openと言う名前に関してはと言う事。 それからその下は記載ある通り、他の質問サイトでの回答文。OK?
退会済みユーザー

退会済みユーザー

2019/06/02 07:29

どこがよくわからん文章だったのですかね? 単純に、他質問サイトの回答をコピペしただけなのですが?
hentaiman

2019/06/02 07:47

私に報告をしたかったの?それとも私に何かを教えてくれようとしたの? どちらにせよ、どちらも私には必要無いです。前者ならもう少しまとめて報告してくれたら私もコメント返すかもしれませんが、後者は必要無いので他に困ってる人にでも教えてあげてください。
退会済みユーザー

退会済みユーザー

2019/06/02 08:29

@Lhankor_Mhy > この場合は形容詞かと。 > 手元の辞書で見ると be open の文例は結構ありました。 その例文ちょっとみしてみろよ。多分、その後ろに名詞あんじゃねぇか? be openだけで形容詞として使う事はねぇと思うぞ。
Lhankor_Mhy

2019/06/02 08:33

> goku59さ キャラ作るのも大変ですね…… The Bible was open to “Psalm 23.”
Lhankor_Mhy

2019/06/02 08:34

(「ん」が抜けたけど、かえってDGっぽいので修正しない)
退会済みユーザー

退会済みユーザー

2019/06/02 08:36

> The Bible was open to “Psalm 23.” それ、辞書間違ってんぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 08:38

@Lhankor_Mhy なぁ、ちょっとその辞書の題名と出版社と発行年数教えてくれよ。 どんな辞書か見てみてぇ。
退会済みユーザー

退会済みユーザー

2019/06/02 08:41

>hentaiman 単純に、「最初からこう言う回答欲しかったのよ」と伝えたかっただけよ。 もういいわ、さすがに笑 それといちいち通知来て鬱陶しいから他の人もコメントするはやめるか、他でやってくれ。 はい、ここは終了。
Lhankor_Mhy

2019/06/02 08:45

> goku59さん そうでしたか。英語苦手なんで何とも…… よければ「ウィズダム英和辞典 第4版」なんで、報告してあげてください。
Lhankor_Mhy

2019/06/02 08:45

↑↑あ、わかりました。終了します。
退会済みユーザー

退会済みユーザー

2019/06/02 09:14

終了するってどういう意味だ? おら、わかんねぇぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 09:14

あ、わかったぞ。
hentaiman

2019/06/02 10:48

> 単純に、「最初からこう言う回答欲しかったのよ」と伝えたかっただけよ。 それならそのまま「最初からこう言う回答欲しかった」とコメントにも書いといてくれたら良かったよ 回答者の回答を冷たく感じるというのは分かるので、直接的な回答しようと思って書いただけなので、その上で分からないとコメントくれればまた追加で返答するし、もう解決したのならコメントする気無かったよ 結果的に直接的な回答と思えなかった事は仕方ないけど、質問者のレベルを質問文から判断して書いたものなので仕方ない。実際の能力よりも高い知識や能力があると見積もって回答した結果がこれなだけです。
guest

0

論理的・・・で言うとコードをそのまま文章化しただけのものはあまり有用とは言えません。
大目的部分がどうなっているか→それを実現するための処理 と考えた方が良いでしょう。
同じ目的のことを実現するやり方は1つではないという観点から、「合ってるか」という質問であればここはお答えしかねます。
むしろ「同じ目的を別のやり方で実現するとしたらどうなるか」を考えた方がロジカルと言えるでしょう。

CSSにないからとそのクラス名をつけられないわけではないので「何者か」と言うと
「付け外しされているだけのクラス」としか表現しようがないと思います。
何のためか?というと今回提示された内容だけでは判断が不可能です。
オンライン学習使ったことはないですが章立てで進んでいるものなんでしょうし
今後何かで使う機会もあるかもしれませんね。

ほぼほぼ同じようなところをやっていそうな質問があるので参考にされてみてはと。

投稿2019/06/01 12:18

m.ts10806

総合スコア80765

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

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

退会済みユーザー

退会済みユーザー

2019/06/01 12:55 編集

>同じ目的のことを実現するやり方は1つではないという観点から、「合ってるか」という質問であればここはお答えしかねます。 →①の質問は、あくまでのこのコードの意味を聞いています。ですので、他に方法がある云々関係なく、あくまでも「このjQueryはこう言う意味だよね?」と質問しているだけなのですが、 ここまで書いたとしても。「非推奨質問」との事で、回答頂けないのは何ともアレですね...。 もちろん、非推奨質問なら回答者さんがおっしゃっている事もわかります。 YESかNOも回答頂けない感じでしょうか? 無論、正しいのは非推奨質問に答えない回答者さんの方だとは思いますが。 >今回提示された内容だけでは判断が不可能です。 →確かに章立てて進むものですが、これはその章の最後であり、途中ではありません。 ヘッダーやフッターなどもありますが、それは記載していません。(この質問には関係ないので) 単純に、 ここでの open が何なのか、 cssにはopenセレクタで指定したプロパティ等ないのに、 何故、ありもしないopenクラスを「もしopenがあったら、もしopenがなかったら」と言ったようなコードになるのかがイマイチ理解出来ないだけです。 そもそも今回のケースにおいて、 addClassやremoveClassは何故必要になるのかが理解出来ません。 文章では何とも説明しづらいですが、 要は何故 何者でもない(cssプロパティも指定ない)openクラスを指定する必要があるのか。 それを教えて頂きたいのですが、 非推奨質問だから、回答不可でしょうか?
m.ts10806

2019/06/01 12:59

「論理的に頭に入れた方が理解しやすい」と書かれているのでその部分にフォーカスして答えています。 >要は何故 何者でもない(cssプロパティも指定ない)openクラスを指定する必要があるのか。 実際のところはそのコードを組んだ人しか知りません。 憶測で回答するわけにはいかないので、「次回以降で使う可能性があるのでは」にとどめています。 もし「意味ないな」と思うのでしたらプロゲート離れて自身の手元で「意味があるように」何かしら処理を追加してみるのも①の「論理的に頭を入れる」ことにつながると思いますよ。 意味がないと思うのなら意味をつけてみる。無駄なようで自身の成長のためになります。 「ここをこうしたらどうなるのかな」技術的好奇心は大切です。
退会済みユーザー

退会済みユーザー

2019/06/01 13:07

いえ...そうではなくてですね。 「open」と言う名前は別に何でも良くて、名前に関して意味を求めているのではありません。(それはわかっていましたら無視してください) 私が聞きたいのは、 このjQueryのコードにおいて、 addClassやremoveClassでありもしないopenクラスを抜き差しする意味と言いますか、 仕組みがわからないのです。 それとも回答者さんは簡単なアコーディオン作成する際、 こんなコードは絶対使わないのでしょうか?
m.ts10806

2019/06/01 13:16

名前の意味の話はしていません。 「CSSで定義されていないセレクタを使う意味」の「意味」です。 その意味がないと思うのでしたら意味があるように自身で処理を追加して、「付け外しする処理に意味を持たせる」と良いのでは?(それも論理的理解につながるよ)とアドバイスしています。 >仕組みがわからないのです。 「仕組み」と表現することで質問の意図が余計にわからなくなりました。 文章での説明が難しければ、コードとか図示するのもありですよ。 >それとも回答者さんは簡単なアコーディオン作成する際、 こんなコードは絶対使わないのでしょうか? んー。自分でわざわざ作るということが実務ではないですからね。 基本フレームワークです。(例:BootStrapなど) フレームワークのコードであれば何かしらの意味を持たせる処理はしてるんじゃないかとは思いますが、 オンライン学習サイトのコードの意図まではさすがに分かりません。 それにオンライン学習サイトって大体は「指示したとおりに組む」ようになっているように思いますし、 それがプロゲート的に正解ならそれで一旦飲み込むしかないかと。 「要件通り動けばいい(動くのが前提)」ので、本当に「必要ない」と思うのでしたら自身が作るサイトに組み込むときには外しても差し支えないと思いますけど。。
miyabi_takatsuk

2019/06/01 13:18

横槍失礼します。 それが、mts10806さんがおっしゃってる通りなんですよ。 CSSでできないことをするために、 jQuery上のみでクラスの付け替えしてるんです。 ただ、どういう意図でそのやり方(なぜjQuery上で扱うだけのクラスの付け替えを、というやりかた)を使ったかは、本当の意味は、書いた人にしかわからないんです。 ここからはエスパーですが、 CSSだけだとクラスの付け替えはできないから、jQueryで動的にやることによってこんなこともできるんだよ、ってことを学んでほしかったのではないでしょうか。 でも完全に予想です。それは、正確な回答を求められるteratailでは、あまり、予想はやるべきではないんです。
m.ts10806

2019/06/01 13:35 編集

よくコードを読んだら見えてこなくもないですけど、 回答の「「同じ目的を別のやり方で実現するとしたら」の部分につながりますね。 別にクラスの付け替え以外でも同様の動作を実現することは可能です。
退会済みユーザー

退会済みユーザー

2019/06/01 14:08

要は、cssにないもの(openクラス)を、 jQueryのif文で、 「もしあったら、もしなかったら」の概念がわからないだけです。 もともとないものを、もしあったら、もしなかったらの概念が、理解できなかっただけです。 単純にjQueryの知識がある方なら、即答になると勝手に思っていましたが、そうではないのですかね。 それを「作成者の考えがわからないから答えられない」と言われては、もうお手上げですが。 文章だと伝わりづらいものですね...
think49

2019/06/01 14:15

完全に余談ですが、今となってはCSSでも animation, :checked で実装可能ではありますね…。
miyabi_takatsuk

2019/06/01 14:36 編集

think49さん>CSS便利すぎる 笑 muchitaroさん> > もともとないものを、もしあったら、もしなかったらの概念が、理解できなかっただけです。 ここに関して、言及しようかと思ってましたが、 think49さんのご回答の考えを支持するのでやめときます。 自分で考え、理解していかれるといい部分かと思います。 また、考え方として、"自分で理解しやすいような理解のしかた"、を見つけるのもプログラムの世界では大事になるかと思います。 これに関しては、実戦で、調べて、どんどん書いていって、動き方を理解して、失敗して、うまくいって、の繰り返しの中でしか理解できないと思います。
退会済みユーザー

退会済みユーザー

2019/06/01 14:58 編集

>ここに関して、言及しようかと思ってましたが、 think49さんのご回答の考えを支持するのでやめときます。 いやいやいや...!笑 それならここは何の為の質問サイトですか?? 示唆してくれてるのでしょうか? 失礼ながら、それはお節介であります。 ここは「エンジニア向け」と言うだけで、エンジニアではないと登録不可ではありませんよね? 何故、そちらではわかっていて教えないのでしょうか? それはただの、意地が悪いのでは? 私の為?を思って善意で、ヒントや示唆頂いてるのはわかるが、 こちらは失礼ながら、そんな事求めておりません。 「自分も苦労してきたのだから、そう簡単には教えないよっ。それにあなたの為にならないしねっ♪」 と言ったところでしょうか? これはこちらが求めている事ではありません。 質問者の立場から言うのもアレですが、 普通に「openはこう言う意図で、概念によってつけられています」と書いて頂ければ良いのでは? ちょっと冷たすぎやしませんかねぇ? 今回は、mts10806さんに回答依頼させて頂いてますが、他のお二人には依頼している訳ではありません。 故に、答えたくないのなら、恩着せがましい「示唆」するのではなく、 答えなければよくないでしょうか? その根性が、openクラス並みに理解できないですわ、ホント。
m.ts10806

2019/06/01 22:28 編集

真意は作った人しか分からないのに教えないも何もないですよ。 答えたくないとかではなく「憶測では答えられない」 回答依頼してない人が答えてはいけないルールはないですし、それを強制することは知見を聞ける機会を失することにもなります。 ちなみにteratailでの活動を見る限りthink49さんもmiyabi_takatsukさんも、HTML,CSS,JavaScriptについては私より技術力のある方です(あくまで私見かもしれませんが) 冷たいも何も、その両名が書かれていることは無視できないと思います。だってプロゲートで出てるコードでしょ? コードの責任は基本的に書いた人にあります。プロゲートが用意したコードである以上、プロゲートにしか真意や本意を伝えることはできません。(さすがにここはわかってほしい) 回答する以上は憶測はもちろん推測で答えるのも望ましくないです(ここもわかって欲しい) なので、作った当人でもないのに意図や概念を語ったところで正解を持っているのは他でもないプロゲートです。 「openはこう言う意図で、概念によってつけられています」と断言できるのはプロゲートしかありません。外野がいくら推測や憶測を立てたとしてもそれが正解かを確かめることはプロゲートに確認するしかないんですよ。 推測なら既に書いた通りです。「やり方は一つではない。クラス付け替えじゃなくても実現は可能そう」。もうひとつ言うなら「openという名前に挙動上の意味はなさそう」くらいですかね。 ロジックは考えることによってのみ育つので「思考するエンジニアのQAプラットフォーム」であるteratailにおいては考えることは必要です。 「論理的に頭にいれたい」なら尚更ですね。
退会済みユーザー

退会済みユーザー

2019/06/02 02:33

>答えたくないとかではなく「憶測では答えられない」 →あなたが言っている事はわかりました。 >回答依頼してない人が答えてはいけないルールはないですし、それを強制することは知見を聞ける機会を失することにもなります。 →それは当然ですが、結局回答になっていなかったもので。(私目線) >コードの責任は基本的に書いた人にあります。プロゲートが用意したコードである以上、プロゲートにしか真意や本意を伝えることはできません。(さすがにここはわかってほしい) →少し納得行かない部分もありますが、mtsさんが言うのならわかりました。ポジティブに捉えます。 >回答する以上は憶測はもちろん推測で答えるのも望ましくないです(ここもわかって欲しい) → これって、そもそも憶測で答えたらまるで違う回答になる可能性が十二分にありえると言う事でしょうか?質問した私が言うのもアレですが、そんなに複雑で難しい質問でしょうか? open の意味、概念を説明するにあたり、憶測や想像しないと答えられないレベルなのですか? そんなに大それた事を問うてるつもりは「私は」ないのですが...。 >推測なら既に書いた通りです。「やり方は一つではない。クラス付け替えじゃなくても実現は可能そう」。もうひとつ言うなら「openという名前に挙動上の意味はなさそう」くらいですかね。 →失礼ながら、質問内容の回答(推測)になっていないかと存じます。 「他にやり方はありますか?」のような質問内容ではありません。 何故、推測だとしてもそのような回答になるのでしょうか。 単に、 「opneの意味、概念は?」と問うてるだけですよ? 何故そこから、「やり方は一つではない。」の話になるのでしょう? その事は、聞いておりません。
hentaiman

2019/06/02 02:39

言い合いに関してはおいといて > open の意味、概念を説明するにあたり、憶測や想像しないと答えられないレベルなのですか? についてはわたしの回答だと伝わらないかしらん?muchitaroさんの質問文見た感じで、この回答で伝わるだろうと思って書いた回答なのだけど
m.ts10806

2019/06/02 02:49 編集

なんかずれてきたので、あとは頑張ってくださいとしか。 プロゲートのスタンスはプロゲートにしか知らないわけですし、それを他人に憶測で答えてもらったところで論理的理解にはつながらないですよと言っているわけですし。 openという名前だけにこだわりすぎててコードがやろうとしている目的、要件から離れてきてます。 「実現方法がひとつではない」についてもそこだけ切り取るとそうなります。前後の流れを大切にしてください。でないとどの回答も論理的な理解にはたどり着けませんよ。 ※hentaimanさんの回答はそのあたりきちんと答えてくれてますが
guest

0

ベストアンサー

他の質問サイトでの回答が一番わかりやすかった為、一応自己解決とします。
ちなみにその回答が下記です↓ (こう言う回答が欲しかった)

アコーディオンメニューのコーディングに関して、回答します。

①は、概ね合っています。

var $answer = $(this).find('.answer');

>$answerには、クリックした際にそのクリックイベントが起こった要素で、
その子要素の.answerを代入。

変数「 $answer」は、
「faq-list-item」クラス属性が付いた要素の配下における
「answer」クラス属性のHTMLコレクションです。

②の「 open は一体何者なんですか?」
また、
「この open は具体的に「何」でどう作用しているのでしょうか?」
について

テクニカルタームとしては、「フラグを立てる」という作業です。

具体的に言い換えると、
マラソンで折り返し地点に到達した時に、
「このランナーはここまで来たんだ」ということで、
マジックペンで手に色を付けられます。

何かの目印を付けないと、
折り返し地点に到達していないのに
引き返されても、まったくわかりませんからね。

それと同様のことをしている訳です。

HTMLのタグには、いろいろな属性が付けられます。

このアコーディオンメニューの場合は、
質問という「question」クラスの付いたH3タグをクリックしたら、
・その直下のSPANタグ内の記号を変える
・かつ、「answer」クラスの付いたDIVタグの表示属性を変える

そういう処理をしている訳ですね。

その際、H3タグのクリック時に、
回答のタグが開いているのか、閉じているのかわかりません。
そこで「open」というクラスを用意しています。

・そのクラス属性が在るなら、閉じる
その時は、「open」クラスを取ってしまう

・そのクラス属性が無いなら、開く。
開けた目印として、
「開けましたよ」という意味付けの「open」クラスを付けておく

そうした処理をしていることになります。

>試しにopenを適当な文字に置き換えても出来た

そうです。どんな文字でもいいんです。

ただ、モノを開けたら「オープン」と言うので、
便宜的に「open」という単語を使っているだけです。

投稿2019/06/02 06:24

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2019/06/02 06:41

な、おらの言ったとおりだったろ?
退会済みユーザー

退会済みユーザー

2019/06/02 06:43 編集

> ただ、モノを開けたら「オープン」と言うので これは間違ってっぞ。 openは「開ける」だ。「開けた」はopenedだぞ。 「他の質問サイトでの回答」こいつもてぇした事ねぇようだな。
Zuishin

2019/06/02 08:00

Lhankor_Mhy さんもおっしゃってますが、形容詞です。 https://ejje.weblio.jp/content/open アコーディオンカーテンは畳まれた状態が open で広がった状態が closed です。
miyabi_takatsuk

2019/06/02 08:11

https://teratail.com/help#posted-otherservice マルチポストは非推奨ですよ。 また、こちらは読まれておりますか? https://teratail.com/help/question-tips#questionTips1 ご自分の質問などが、適合してるか、ご確認いただければよろしいかと思います。 回答や、コメントされてる方(私も含め)がガイドラインから間違っている可能性もなくはないと思いますので、 もし読まれていないなら、teratailのガイドラインを読まれるといいのかな、と思います。 他の質問を拝見いたしましたが、けっこうマイナス評価をもらってしまってるな・・・と思いましたので、 ガイドラインを読んだ上で、質問の仕方などを準拠させると、回答者さん達との衝突もなくなっていくのではないかと思います。 私自身、回答依頼を受けていない身で、あのようなコメントをしたのは、本当に失礼であったと反省しております。申し訳ございません。 ですが、teratailのガイドライン、teratailがどのようなQAサイトなのか、目的なのか、は把握された方がいいかもしれません。 (もちろん、他のQAサイトも、目的や、やり方が、少しずつ違うはずです)
Lhankor_Mhy

2019/06/02 08:17 編集

自己解決にされていますが、goku59さんのご回答か、わかりにくいかもしれませんがhentaimanさんのご回答が、この内容と同じものであるように思います。 正しい回答が寄せられているのに自己解決にするのは、どうなのかな、と思いました。 (なお、マイナス評価はしていません)
退会済みユーザー

退会済みユーザー

2019/06/02 08:30

@Zuishin Lhankor_Mhyんとこにも書いたが、名詞がつかないでopenを形容詞として使う事はねぇと思うぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 08:31

@Zuishin > アコーディオンカーテンは畳まれた状態が open で広がった状態が closed です。 よくわかんねぇけど、おめぇ、仕事でそういう実装のコード書いてんのか? そりゃおめぇ、すっげぇ迷惑な奴だぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 08:36

>Lhankor_Mhy めんどくせぇなぁ、あんたも。鬱陶しいわ。 回答してねぇ奴は引っ込んでくれるか?胸糞悪いわ。 ベストアンサーは質問者が決める事だろ? 私が他の質問サイトで得た回答が、一番しっくり来た事であり、求めていた事であるからそれを自己解決 に載せたまで。 >自己解決にするのは、どうなのかな、と思いました。 →どうかな?じゃねぇだろが。「お前の意見はそもそも聞いてない」
Zuishin

2019/06/02 08:39

喫茶店に行けば「Open」「Closed」と書かれた札を見ることができますから、行ってみてください。「We are open」のように名詞無しで使います。
退会済みユーザー

退会済みユーザー

2019/06/02 08:41

@Zuishin >「We are open」のように名詞無しで使います。 おめぇの貼ったリンクにその例文があったぞ。 逆に言えば、その例文くらいしかそういう使い方はしてねぇみてぇだぞ。 ほとんど慣用句みたいな使い方なんじゃねぇのか?
Lhankor_Mhy

2019/06/02 08:42

残念ながら、私のコメントを読んであなたが胸糞悪いと思うかどうかなんて、こっちが事前に知る由もないので、受け入れてもらう他ないですね…… 異文化圏の接触が摩擦を起こすのは仕方がないですよ。 だから、接触を控えた方が幸福の総和が上がるのではないか、と申し上げた次第です。まあ、穏やかにいきましょう。
退会済みユーザー

退会済みユーザー

2019/06/02 08:44

@Zuishin それよっかさぁ、 > 喫茶店に行けば「Open」「Closed」と書かれた札を見ることができます Openが形容詞で、Closedは動詞の過去形だぞ。 正式な使い方じゃねぇと、なんで思わねぇんだ? おめぇ。 おめぇはもしかして、【トライアンドエラー」って言う奴か? そりゃおめぇ、間違ってっぞ。
Zuishin

2019/06/02 08:44

例文は全部載せるわけにいかないので、一つしか載ってないだけでしょう。名詞なしの形容詞は普通に使います。
Zuishin

2019/06/02 08:45

Closed は過去形ではなく形容詞です。
退会済みユーザー

退会済みユーザー

2019/06/02 08:57 編集

@Zuishin >例文は全部載せるわけにいかないので、一つしか載ってないだけでしょう。 おめぇの言ってる事は、全部苦し紛れみてぇだな。 全部載せられないのは他の使い方もいっしょだろ。 なのになんで、ほとんど全部名詞がくっついてんだよ。 おめぇ、言ってる事おかしいぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 08:48

@Zuishin >Closed は過去形ではなく形容詞です。 それはそうか。
退会済みユーザー

退会済みユーザー

2019/06/02 08:48

>Lhankor_Mhy 受け入れてもらう他ない?はぁ? お前何言ってんだ? >だから、接触を控えた方が幸福の総和が上がるのではないか、と申し上げた次第 は?「だから」っておかしいよね? いつ「接触を控えた方が幸福の総和が上がるのではないか」と言った? 「申し上げた」って過去形だよな?いつ言った? どうでもいいが、横から湧いてくるの鬱陶しいから、消えてくれ。
Zuishin

2019/06/02 08:48

「He is big」「She is beautiful」「It is so nice」など、名詞をつけずに形容詞を使うのは普通です。英語の初級の教科書で確かめてください。
退会済みユーザー

退会済みユーザー

2019/06/02 08:49

@Zuishin だけんども、その場合のopenにもclosedにもbe動詞はついてねぇぞ。
Zuishin

2019/06/02 08:50

「We are open」の「are」は be 動詞です。「is」もそうです。
退会済みユーザー

退会済みユーザー

2019/06/02 08:50

@Zuishin おめぇ、話をすり替えるなよ。 is openを形容詞として使うことが一般的だって話にはならねぇだろ。
Zuishin

2019/06/02 08:52

is beautiful は一般的です。open は「開いた」「開けた」という形容詞なので同じように使えます。
退会済みユーザー

退会済みユーザー

2019/06/02 08:52

@Zuishin >「We are open」の「are」は be 動詞です。「is」もそうです。 それ、さっき、辞書に載ってるごく一部の使い方だって、おら、言ったよな。
Zuishin

2019/06/02 08:52

ごく一部ではなく普通の使い方です。初級の教科書で確かめてください。
退会済みユーザー

退会済みユーザー

2019/06/02 08:52

@Zuishin > is beautiful は一般的です。open は「開いた」「開けた」という形容詞なので同じように使えます。 おらさっき、慣用句の話したよな。
退会済みユーザー

退会済みユーザー

2019/06/02 08:54 編集

Zuishin  goku59 お前ら二人、もういい加減にしてくれるか?通知鬱陶しい。 揉めるなら、俺の質問板でやるなよ笑 はいここも、終了。動詞だとか形容詞だとかどうでもええから笑 終了な。
Zuishin

2019/06/02 08:53

慣用句ではなく「主語 be 形容詞」は普通の使い方です。
退会済みユーザー

退会済みユーザー

2019/06/02 09:34

@Zuishin バトルしてっとこ、わりぃな。 あのさ、いろいろと見てみたんだけんど、おめぇの論説は大筋で正しいみてぇだぞ。 openはかなりややこしい単語みてぇだな。おら、けっこう勉強になったぞ。 だけんどもさ、ここはプログラミングについて話す場所だから、思うんだけんどもさ、 やっぱり is-open は、おかしいと思うんだよな。
退会済みユーザー

退会済みユーザー

2019/06/02 09:35

なんだよー、まだやってんじゃねぇか。 おら、いつになったらZuishinとバトルできんだよ。
Zuishin

2019/06/02 09:37

どっちも終わったんじゃないですか? 私はそのつもりですけど。
退会済みユーザー

退会済みユーザー

2019/06/02 09:38

@Zuishin > どっちも終わったんじゃないですか? > 私はそのつもりですけど。 ん? おめー、is-openがプログラミングの命名として正しいって言ってんのか?
Zuishin

2019/06/02 09:39

is-open については何も言っていませんが?
退会済みユーザー

退会済みユーザー

2019/06/02 09:40

@muchitaro > こいつの一連の対応、クズすぎるだろ? おー、勿論そう思うぞ。 だからおら、おめーら二人をまとめて通報しといたぞ。 明日teratailの運営が出勤してきたらげんなりすると思うぞ。
miyabi_takatsuk

2019/06/02 09:43 編集

gokuさん>横槍失礼します。 phpでは、issetという、変数が定義されているかを、boolianで返すメソッドがありますので、boolianを返すという意味合いから、hentaimanさんは、使われたのかと思います。 他の言語でも、is+単語で、存在有無や、その変数の型が合っているかを確かめるメソッドは各種存在しておりますので、 英語的にはおかしいのかもしれないですが、プログラマーとしては、ぱっと見わかりやすい使い方なのかな、とは思います。
退会済みユーザー

退会済みユーザー

2019/06/02 09:43

@Zuishin > is-open については何も言っていませんが? おー、そうだったそうだった、 おめーは、それには全く関与してないんだったな。 わりぃわりぃ、おら、ちょっと勘違いしちまったみてぇだ。 おめーが全体を見れるほど戦闘能力は高くねぇ事は他の回答見て知ってたぞ。 おめぇはいつも言葉の端々をつまんで突っ込むだけだもんな。
退会済みユーザー

退会済みユーザー

2019/06/02 09:45

@miyabi_takatsuk おー、なんか新しい奴が来たな。おら、わっくわくすっぞ。 issetかー、PHPでは一番使われる技だな。 だけんども、setをサンプルとして持ってきたのはまずかったなぁ。 setは現在形、過去形、過去分詞、全部setだ。 今回のケースを話すのには向いてねぇと、おら、思うぞ。
Zuishin

2019/06/02 09:46

ええまあゴミ質問のゴミ回答のコメントでどーーーーうでもいい話題にどーーーーーーーーうでもいい突っ込みをしてみただけです。 全体を見るなら open については言及しなくていいと思いますし、私もほかのちゃんとした質問・回答なら言いません。
退会済みユーザー

退会済みユーザー

2019/06/02 09:48

@miyabi_takatsuk さっきちょっと話してたプログラミングの話なんだけんどもな、 プログラミングにおいて、is+○○はおめーが言ってるようにboolianを返すメソッドで一般的に使われるルールなんだよな。 その場合のisは英語のbe動詞として使われているわけではねーことは、おめーもわかるよな。
Zuishin

2019/06/02 09:49

boolean のことですかね?
退会済みユーザー

退会済みユーザー

2019/06/02 09:49

そう、それだ。おらもつられちまったぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 09:51

@Zuishin 頭少し冷えたか? >その場合のisは英語のbe動詞として使われているわけではねーことは、おめーもわかるよな。 についてはどう思うんだ。
Zuishin

2019/06/02 09:51

状態を取得する関数の接頭辞に使われている is は be 動詞だと思いますよ。これは関数なので動詞が使われています。状態そのものを表す今回の件とは事情が違います。
退会済みユーザー

退会済みユーザー

2019/06/02 09:53

@Zuishin 関係ねーけど、おめー、最近随分キャラ変わったろ? なんかあったのか?
Zuishin

2019/06/02 09:53

それと、私は別に興奮していませんでしたよ。おそらく彼を思い通りに動かすにはこの態度が効果的なのではないかと思っただけです。
Zuishin

2019/06/02 09:54

そういう意味ではキャラは変わったのではなく変えたというのが正解です。
miyabi_takatsuk

2019/06/02 09:54

goku59さん> そうなのですね。大変失礼しました。大変に勉強になりました。 ただ、変数名や、メソッド名って、 なるべくは正しい用法で書くのが一番正しいとは思うのですが、 時に現場によっては、プログラマーにとって、意味が通じやすいなどで決まることもあるかと思います。 正しい英語だと、命名が長くなったり、日本人がぱっと見でわからなくなったりなど、出ると思います。 なので、正しい用法より、わかりやすい用法で使ってしまうのはよくあることかと思います。 なので、英語の用法で、言及するのはどうなのかな・・・? と思いました。
退会済みユーザー

退会済みユーザー

2019/06/02 09:55

@Zuishin >今回の件 今回の件って、具体的に何の事を言ってんだ? まだWe are open.の話してるわけじゃねぇよな?
Zuishin

2019/06/02 09:56

is-open の命名の話です。is-open と名付けるのが適当だとは私は思いません。
Zuishin

2019/06/02 09:57

だけど、is を boolean を表す接頭辞として規約で定めるのであればそれはそれでいいのではないかと思います。
退会済みユーザー

退会済みユーザー

2019/06/02 09:59

@miyabi_takatsuk >そうなのですね。大変失礼しました。大変に勉強になりました。 いや、おらもZuishinとかhentaimanのおかげで、随分修行が積めたぞ。 だけんどもな、 >なるべくは正しい用法で書くのが一番正しいとは思うのですが、 ちょっと違うんだ。 ここはプログラミングのサイトだから、いわゆる「一般的に正しい英語」が正しいわけではねぇと、おら、思うんだ。 is-○○っていうのは英語じゃなくてプログラミング上の作法だろ? だから、その作法に則って書いたら、is openはおかしいんじゃねぇか?って言いてぇんだ。
退会済みユーザー

退会済みユーザー

2019/06/02 10:00

@Zuishin >is-open の命名の話です。is-open と名付けるのが適当だとは私は思いません。 なんだ、おめぇ、やっぱり話が分かる奴じゃねぇか。 おら、ちょとヒヤヒヤしたぞ。
Zuishin

2019/06/02 10:01

どっちにしろ、些末なことです。
Lhankor_Mhy

2019/06/02 10:02

なるほど、is -【状態】みたいな話ですかね? それは一理ありそうな気がする。まあ、原則的に決めの問題なのだろうけど、その辺は非エンジニアだからよくわかんないな。 そうだとすると、is - show は、is - shown とか is - visible とか書くべきなのかな……?
退会済みユーザー

退会済みユーザー

2019/06/02 10:02

おら、思うんだけんども、 プログラミングにおける is はbe動詞じゃなくて、判定器だと思うんだよな。 判定器に渡す物は、それ単一で状態が分かるものでなけりゃならねぇと思ってる。 open が単体で渡された時に、どんな状態をしめすものか分かるか?ってぇところが、 おらがおかしいと思った理由なんだ。
退会済みユーザー

退会済みユーザー

2019/06/02 10:03

@Zuishin >どっちにしろ、些末なことです。 ははは、おめぇ、ほんとうに末端しか見れねぇからなぁ。
退会済みユーザー

退会済みユーザー

2019/06/02 10:04

Zuishin https://teratail.com/questions/192735 散々言うだけ言って、逃げるとかお前どんな人格してるんだ。 是非とも会いたいな。この病人と。
退会済みユーザー

退会済みユーザー

2019/06/02 10:06 編集

@Lhankor_Mhy >そうだとすると、is - show は、is - shown とか is - visible とか書くべきなのかな……? おらは、そういう風に書いてる。 見えてるかどうかの時は had-shown、 見ることが出来るかどうかの時は could-be-showable かな
miyabi_takatsuk

2019/06/02 10:07

goku59さん>そういうことですか! であれば確かに仰る通りだと思います。 形容詞とか、be動詞など、出てきたので、英語的に正しいか正しくないかで話しされてるのかと思ってしまいました。 プログラムの用法的に、という話なのですね。 そうですね、 isOpenStateとかのほうがいいかもですね。 (これも間違ってるかもしれませんが) 私は納得です。 何度も横槍すみませんでした。
Lhankor_Mhy

2019/06/02 10:09

has-shown はなんか、shownプロパティを(値に関わらず)持っているか、みたいに読んでしまいそう……?
退会済みユーザー

退会済みユーザー

2019/06/02 10:10

@miyabi_takatsuk >何度も横槍すみませんでした。 なぁに言ってんだ、おら、強ぇやつと話をするのは楽しいぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 10:11

@Lhankor_Mhy shownは名詞じゃねぇからなぁ…。 でも、言ってることはわかっぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 10:14

やっぱ、全体見た時にルール決めをどうすっか、だろ? そんときにルールから外れてると混乱するだろ。 そしたら、is-openっていう命名はまじぃと、おら、思うんだよな。
退会済みユーザー

退会済みユーザー

2019/06/02 10:15

openって単語がたまたま動詞と形容詞が同じだっただけだかんなぁ。
Lhankor_Mhy

2019/06/02 10:19

> goku59さん エンジニアはその辺もいろいろ考えてるんですね。アマグラマなんで好きにやればいいので、その辺の事情はまったくわからず…… ひどいコメント欄でしたが、思いのほか勉強になりました。
退会済みユーザー

退会済みユーザー

2019/06/02 10:20

すっげぇな。 おらよりタチの悪ぃ奴、初めて見たぞ。 明日teratailの運営が出勤してきたら muchitaro と Zuishin の処遇に頭かかえっぞ、ぜってぇ。 おら、初めてteratailの運営がかわいそうになってきたぞ。
miyabi_takatsuk

2019/06/02 10:21

となると、openクラスを付け替えするという、当初の動きが、一番妥当なのかもしれません。 なぜなら、閉じてるなら、openクラスがない→開いてない って認識できますからね。 意外にも、progateの課題の状態が、プログラム的にも妥当な状態って気がします。
退会済みユーザー

退会済みユーザー

2019/06/02 10:22

@Lhankor_Mhy おらも、結構修行になったぞ。 openが想像以上にめちゃくちゃな単語で、すげぇびっくりしたぞ。
Zuishin

2019/06/02 10:23

英語にこだわるならカーテンは畳まれてる状態が open なので、それを選択しない時点で妥協しているということになります。
退会済みユーザー

退会済みユーザー

2019/06/02 10:24

@miyabi_takatsuk いや、それは何度も言っている通り、open が正しく形容詞として認識されるかって問題があると、 おら、思うんだ。 おらは、それは、無理だと思う。 Zuishinが言ってた「We are open. 」みたいに、付帯情報があって初めて、「開いている状態を示す」って分かるんだと、おら、思うんだよな。
退会済みユーザー

退会済みユーザー

2019/06/02 10:25

大体、「We are open.」っていうのは、お店の前に貼ってあるから「お店が開いている」って認識できるだけで、 コードの中に突然openが出てきても、何の事かわかんねぇと、おら、思うぞ。
Zuishin

2019/06/02 10:26

カーテンにくっついているので、open が何を形容しているかは一目瞭然ですね。
退会済みユーザー

退会済みユーザー

2019/06/02 10:26

@Zuishin >英語にこだわるならカーテンは畳まれてる状態が open なので、それを選択しない時点で妥協しているということになります。 おめぇは、相変わらずトンチンカンな事ばっか言ってんなぁ。
退会済みユーザー

退会済みユーザー

2019/06/02 10:27

@Zuishin ごめんな、今、カーテンの話してねぇ。 アコーディオンカーテンの事言ってんなら、かなり前に言ったが、おめぇは普段仕事でそういう実装してんのか? そりゃおめぇ、はた迷惑な奴だぞ。 あと、おめぇ、言葉が汚すぎだ。
Zuishin

2019/06/02 10:29

文脈を無視して英語にこだわってる迷惑な存在でしょう? あなたの姿ですよ。
退会済みユーザー

退会済みユーザー

2019/06/02 10:31

@Zuishin おめぇ、頭に血が上りすぎだぞ。 muchitaro が「頭おかしくなってる」って言ってんのも、そんなに間違っちゃいねぇように、おら、見えるぞ。
miyabi_takatsuk

2019/06/02 10:32

goku59さん>なるほど・・・。 やはり、別単語を使うか、二語使うか、もしくは、開き直って、 isKaiheiって、日本語使ってしまうか、でしょうかね・・・。 難しい。 Zuishinさん>うぉ、度々勉強不足すみません。 なるほどですね・・・。
退会済みユーザー

退会済みユーザー

2019/06/02 10:34

これ、まじで明日出勤してきたteratailの運営が頭かかえっぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 10:39

@miyabi_takatsuk ん? JavaScriptだろ? だったらおめー、 function アコーディオンカーテンが開いているか?(obj){ } でいいんじゃねぇのか? そんなに迷うなら。
hentaiman

2019/06/02 10:43

例にisopenと書いて悪かった、わざわざ例だって言ってるのにそこまで拘ると思わなかった openに似せた単語で状態を取得すると一目で分かるものを使いたかっただけ 実際業務で書く時にはstatusとかconditionという単語を使うし、isopenは飽くまで例だと思ってください もしisopen使うならメソッドとしてこんな感じで使う https://www.ibm.com/support/knowledgecenter/ja/SSVRGU_9.0.1/reference/r_domino_Database_IsOpen.html
退会済みユーザー

退会済みユーザー

2019/06/02 10:46

なんかおら、おめぇが一番可愛そうな奴に思えてきたぞ。
退会済みユーザー

退会済みユーザー

2019/06/02 11:27

運営に言っとくけど、本件におらは一切関係ないからな? おらは、あたりめぇの事しかかいてねぇからな? おらにお鉢を回してこねぇでくれよ?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問