のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,934人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレjQuery 質問スレッド vol.8

    JavaScript覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    301 = :

    直接的には書いてないけど、つまり>>140の質問に対する答えは「なし」ってことね。

    302 = :

    >>298
    でグループ化とは?

    >>299
    静的に付けたclassが消えるのはいいとしてhasClassどうすんだ?ってなかったっけ?

    303 = :

    >>302
    > でグループ化とは?

    >>208に書いてあるよ
    > 値をグループ化できる。複数の値を週類ごとにまとめたものがグループ
    > classの場合は値を書くしかないから3つのグループがあって、一つのグループごとに
    > 5個の値があれば、最大15個の値を管理する必要が出てくる
    > data-*を使えば3つでいい(今は数が多くて管理が大変という話だというのを思い出そう)
    > グループと値として管理できるのがメリット

    304 = :

    >>302
    > 静的に付けたclassが消えるのはいいとしてhasClassどうすんだ?ってなかったっけ?

    hasClassって、この場合、blackか?redか?greenか?・・・・その他色々な色か?って
    ループでぐるぐる回していま何色か調べるってこと?

    そりゃ大変そうだな。

    305 = :

    data-*属性をCSSのクラスリストのように使う方法

    http://developer.mozilla.org/ja/docs/Web/CSS/Attribute_selectors
    > [attr~=value]
    > attr という名前の属性の値が空白区切りの語のリストで、その中の1つが正確に value と一致する要素を表します。

    ↑属性セレクタとしてこれがあるからできるんじゃないかと思ってみたら、
    やっぱりできるもんだなぁ。data-*属性でhasClass相当ってこれでいいでしょ?

    http://jsfiddle.net/s9epbv2k/
    -------- html
    <ul>
     <li data-test="foo bar">1</li>
     <li data-test="foo bar baz">2</li>
     <li data-test="foo baz bar">3</li>
     <li data-test="baz foo bar">4</li>
    </ul>

    -------- css
    [data-test~="baz"] {
    color: red;
    }

    -------- js
    $('[data-test~="baz"]').on('click', function() {
     alert($(this).text())
    })
    $('li').on('click', function() {
     alert($(this).is('[data-test~="baz"]'));
    })

    307 = :

    立ち返っていうとですね
    data属性を使わなくてもidとclassでどうにでもなることだとなんだけどねw

    308 = :

    >>304
    全て調べるとは限らないぞ
    greenが含まれているか否か、それだけの場合もある

    309 = :

    >>305
    孫以下はどうするよ?has使うか?回りくどいな

    310 = :

    >>309
    今はhasClassとの違いだったよね?

    まずhasClassはこう書けるというのを示してくんない?
    hasClassで孫以下はどうするのよ?


    それにしても $(this).is('[data-test~="baz"]') は最強だな
    セレクタ使うから、$(this).is('span [data-test~="baz"]')
    みたいなことまでできるのが容易に思いつく


    hasClassで孫以下はどうするのよ?

    311 = :

    セレクタよりなるべくメソッド使いたいもんだな
    toggleClassはできそうだが問題は他のライブラリがつけたクラスだな
    無視するかはその人次第なのでそうしろとか有り得んわ

    312 = :

    > セレクタよりなるべくメソッド使いたいもんだな

    お前の好みなんかどうでもいい

    313 = :

    > 無視するかはその人次第なのでそうしろとか有り得んわ

    無視するかはその人次第なので、
    そうしろとか有り得んわ
    なんて、お前が決めることではない

    314 = :

    そうだな、data-かclassかはお前が決めることではない

    315 = :

    単にこの問題に対してdata-*の方が優れているという
    ことを論理的に説明しただけ。

    これは決まっている事実を公表しただけ
    俺が決めたわけじゃない

    316 = :

    詳細がわからない以上どっちもどっちだろ
    どちらが優れていると確定できるわけがない
    上で同じようなこと書いてる人がいたが各々好きにすればいいだけ

    317 = :

    >>316
    話がごっちゃになってるぞ
    最終的に選ぶのが聞いた人であって、
    今回の話にdata-*が有利なのは単なる事実だ

    318 = :

    もともとclassでやると・・・の管理が面倒って話だからな
    最初っからclassでは大変だっていう自覚はあったわけだ
    それをどう解決すべきかがわからずclassで頑張ろうとしていただけで

    143 名前:Name_Not_Found[sage] 投稿日:2018/01/28(日) 17:27:37.90 ID:???
    >>142
    そうなんだけど・・・の管理が面倒で
    変更の度にそこも付け加えなくてはならなくて
    最初つけるclassは1,2個と少ないので楽かなと

    319 = :

    data-でもそれはそれで面倒な点があるかもしれんだろうに
    解決策は最初からほぼわかってた
    ただ確信が持てないので聞いただけだろ

    >とするのはあり?

    320 = :

    かも知れないなら、まず最初に質問者に聞くべきだな
    自分の想像で、問題あるという前提で話をするのはやめろ

    321 = :

    仕様がこれ以上変わらないなら答えは「あり」
    業務アプリ作ってんじゃねーんだぞアホらしい

    322 = :

    > 140
    > .aaaに動的に付けたclass(bbb ccc ddd・・・)の削除や付け直しを一括でしたく
    > $('.aaa').removeClass('bbb ccc ddd・・・');
    > を
    $('.aaa').removeClass().addClass('aaa');
    > とするのはあり?

    > 142
    > >>140
    > それだと静的に付けたclassまで消えちゃうじゃん

    > 143
    > >>142
    > そうなんだけど・・・の管理が面倒で
    > 変更の度にそこも付け加えなくてはならなくて
    > 最初つけるclassは1,2個と少ないので楽かなと


    この一連の流れから明らかだな。
    静的に付けたclassまで消えるのが問題だと認識してる。

    323 = :

    >>321
    > 仕様がこれ以上変わらないなら答えは「あり」

    何言ってんだ?

    removeClassが消えるのは嫌だけど・・・が面倒だって話だろ
    ならもっといい方法がないか探してるってことだよ

    324 = :

    はっきりさせておこう。

    この例では、classを使うよりdata-*属性を使ったほうが良い
    ここまではみんなOKだよな

    325 = :

    >>324
    OK

    326 = :

    ということは、あとはclassを使うか、data-*を使うかは
    質問者が選ぶことだ。

    回答者としては、質問者へ回答を書くのみ
    classを使った案とdata-*を使った優れた案がでた

    この段階でclassを押し付けるのはおかしい

    327 = :

    質問者の >>140>>142 から

    > .aaaに動的に付けたclass(bbb ccc ddd・・・)の削除や付け直しを一括でしたく
    ということにたいして

    > $('.aaa').removeClass().addClass('aaa');
    という回答は

    静的に付けたclassが消えるという問題があると
    質問者と回答の双方が認識しているわけだ

    問題があると認識してる時点で
    この質問は「なしだけどしかたないのかなぁ」という話に変わったわけだ

    328 = :

    もし静的に付けたclassが消えてもいいというのなら
    >>143は「静的に付けたclassが消えても問題ないです」とい
    レスになっていただろう。

    だが>143は、消えちゃうんだけど(それを避けようとすると)・・・の管理が面倒になる
    という話をしているわけだ。

    この流れで、もっと良い案、data-*属性を使ったやり方が出るのは当然だろう

    329 = :

    >>323
    >removeClassが消えるのは嫌

    捏造しないように
    むしろいいかもしれんぞ

    330 = :

    捏造も何もちゃんと書いてあるじゃん

    > 142
    > >>140
    > それだと静的に付けたclassまで消えちゃうじゃん

    > 143
    > >>142
    > そうなんだけど・・・の管理が面倒で

    331 = :

    みなさんいろいろすみません>>140です
    こういうの書くと成りすましに見られるから控えていたのですが

    >>328
    静的に付けたclassは消えても問題ないです
    ただのセレクタ役だし、またつければいいだけで

    332 = :

    >>331
    バレバレだ。なりすましするな

    333 = :

    顧客が本当に必要だったものワロタwwwww

    334 = :

    >>331
    > ただのセレクタ役だし、またつければいいだけで

    ただのセレクタ役とは?
    またつければいいというのは、どうやって?

    335 = :

    >>332
    こういうのがいるから後から書きづらくなるんだよな
    スレに悪影響以外何者でもない

    >>334
    出てるじゃん

    336 = :

    >>330
    嫌と書いてないのを君が証明してどうするよw

    337 = :

    >>326
    押し付けてるアンカよろ
    どっちでもいいは幾つかあるが

    338 = :

    >>335
    でてるじゃんじゃなくて、
    どこにでてるのかって話だ

    >>334
    で、ただのセレクタ役とは?
    またつければいいというのは、どうやって?

    339 = :

    どっちを使えとか押し付けてはいないな。
    ただこの場合はdata-*属性を使ったほうが
    シンプルに実装できるってだけの話だ

    340 = :

    確かにいままで出た条件の範囲では
    data-*属性のほうが良いかもしれないけど

    もしかしたら、明らかになってない条件の中に
    data-*属性じゃだめな理由があるかもしれないだろ!
    お願いだ。それを誰か書いてくれ
    このままじゃ負ける

    341 = :

    負けるとかwww

    342 = :

    なりすましするなら最後まで本人になりきって
    質問に答えなきゃだめだろw
    中途半端なことをするから余計怪しまれる

    343 = :

    >>140
    > $('.aaa').removeClass().addClass('aaa');
    > とするのはあり?
    '.aaa'というセレクタで指定していることから静的に
    追加したclassを変更する意図とケースは無いと見られる
    後から追加されたclassNameは必ず後に追加されるので
    >>144で答えは出ていると思うけどね

    344 = :

    >>343
    つまり問題ないってことか
    ありがとう

    345 = :

    >>344
    条件次第だけどそうだと思うけどね?
    jQueryでも古いバージョンにはセレクタのプロパティーがあったんだよね
    最近のバージョンではなくなっているけど
    $('.aaa').selector // '.aaa'
    これを活用してインスタンスメソッドを作成しておくってこともできたんだけど

    346 = :

    何こいつ問題あるかないかにこだわってるんだろう
    しかも質問者じゃない人のレスで満足して。
    誰かに問題ありませんって言ってほしいだけかよw
    承認欲求ってやつだな

    347 = :

    >>343
    > '.aaa'というセレクタで指定していることから静的に
    > 追加したclassを変更する意図とケースは無いと見られる

    静的に追加したclassっていうのを誤解してるんじゃね?
    JavaScriptで追加したものじゃなくて、HTMLに書かれた
    classって意味だよ。デザインの都合で。

    JavaScriptの役目としては、コードで付けたもの以外は
    そのまま残しておく。だからremoveClassで全部消えちゃうのは
    まずいわけ

    348 = :

    >>345
    > これを活用してインスタンスメソッドを作成しておくってこともできたんだけど

    こっちはまったく意味不明。何がしたいのかさっぱりわからない。

    349 = :

    >>347
    >>144だと全部消えないだろ?
    あくまで静的なclassNameは'aaa'での条件
    質問の条件に対してことだよ
    自己解釈しているのはアンタの方だろ?w
    >>348
    これは以前のjQueryにおいてのこと

    350 = :

    >>349
    だから.aaa以外の静的に付けたものは消えるじゃん
    それにそのコードだとaaaが2番目以降に来ると問題が有るし


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について