元スレjQuery 質問スレッド vol.8
JavaScript覧 / PC版 /みんなの評価 :
553 = :
結局toggleClassはどうなったんだっけ
556 = :
>>553
何をしたい?
558 = :
const君なんていたのかw
559 = :
優秀な書き込みは全部俺♪
560 = :
キモ
561 = :
>>548って最初の質問の時点で読み取れるよな
勝手に問題、困ってると解釈して勝手に修正しようとしてたわけだ
562 = :
data君の攻撃は止まらない
563 = :
> >>548って最初の質問の時点で読み取れるよな
その次のレスで覆ったんだよ
564 = :
data君は自分が優秀だと思っている
こんなところにいる底辺な奴らに自分が馬鹿にされていいわけがない
そうだ、明らかに馬鹿なこいつを煽ってやろう
馬鹿なこいつは自爆するからそこを追求してやればいい
そうして、皆が自分を優秀な人間だと認めるだろう
565 = :
相変わらず中身が無いことをべらべら喋るなw
566 = :
date君のプロファイリングか
567 = :
早く煽ってやれよw
568 = :
data君はお山の大将
569 = :
>>563
次のレスで解決しとるよw
570 = :
>>569
次のレスってどれのこと?
質問者: 140 名前:Name_Not_Found[sage] 投稿日:2018/01/28(日) 10:57:06.54 ID:???
> .aaaに動的に付けたclass(bbb ccc ddd・・・)の削除や付け直しを一括でしたく
> $('.aaa').removeClass('bbb ccc ddd・・・');
> を
> $('.aaa').removeClass().addClass('aaa');
> とするのはあり?
質問者への問題点の指摘: 142 名前:Name_Not_Found[sage] 投稿日:2018/01/28(日) 11:50:24.50 ID:???
> >>140
> それだと静的に付けたclassまで消えちゃうじゃん
質問者の次のレス:143 名前:Name_Not_Found[sage] 投稿日:2018/01/28(日) 17:27:37.90 ID:???
> >>142
> そうなんだけど・・・の管理が面倒で
> 変更の度にそこも付け加えなくてはならなくて
> 最初つけるclassは1,2個と少ないので楽かなと
質問者の次のレスを解説すると
1. そうなんだけど => 問題点への指摘の同意
2. ・・・の管理が面倒で => 面倒な部分
3. 変更の度にそこも付け加えなくてはならなくて => ・・・の部分が変わる
4. 最初つけるclassは1,2個と少ないので楽かなと => 個数は不明だが、少ないのでまだましだということ
これに対してdata-*属性を使った場合は、全ての問題が解決する
571 = :
なるほど
572 = :
まだやってたのかw
573 = :
classは論外だが何でもかんでもdata-に頼るべきではない
<custom-postit data-form=circle
のように基本的に使うものであって、
ある特定のJS内で完結する場合の要素へのデータの紐付けはWeakMapを使うべき
574 = :
575 = :
弱くて迷いそう。ストロングナビ使いたい。
576 = :
>>574
詳しく言うとJS内で完結するというのは主にCSSと連携しないってことだよ
CSSからJS内の変数は読み書きできないから変数の値が○○の時に色を変えるとかはできない
data-ならCSSと連携できるがそれが必要ないなら場合はJSでいい
もともとは全部classに入れていたわけだけど、classをCSSと連携しない使い方をしてるなら
data-ではなくJS側に全部持ってこれるということ
今回がどっちに当てはまるのかはしらないけどね
577 = :
ん?元はclass使っていたってことは、CSSと連携したいってことでは?
しきりにWeakMapを連呼してるのは、オブジェクトが消えてもメモリリークが
起きないってことを言いたいのかもしれないけど、それはjQueryのdata()メソッドでもできること
(質問者がdata()メソッドの存在を知らなかった可能性はあるけど)
http://api.jquery.com/jQuery.data/
> The jQuery.data() method allows us to attach data of any type to DOM elements in a
> way that is safe from circular references and therefore from memory leaks.
> We can retrieve several distinct values for a single element one at a time, or as a set:
もともとclassを使っていた以上CSSと連携させたいと思うのが普通で
それをJS側に持ってこれるとは思わないな。
578 = :
> ん?元はclass使っていたってことは、CSSと連携したいってことでは?
ただの思い込み
579 = :
その理屈で言えば、WeakMapでできるというのも思い込みなわけで
581 = :
>>579
最初はそれに気づかずに、CSSと連携できないって
指摘されて意見を変えたみたいねw
582 = :
言っとくけど俺は573以降ここまでレスしてないから
それに意見を変えたって、一体どういうこと?
意見は全部573に含まれてて完結している
書いたとおり、要素とデータを結びつけるときには必ずしも要素の属性を利用しなくとも
WeakMapの方が勧められる『場合もある』と言っただけ
そしてその理由は主にセマンティクス上のもので機能の優劣を述べたつもりもない
間隔としてはグローバル変数をむやみに使うなと同じような小言
それ以上でもそれ以下でもない
大人ならすぐ他人を煽ったり話を茶化して非建設的な流れに持っていくのは辞めろ
583 = :
>>576
文は長いが書いてあること全然詳しくないのだが
具体的にお願いできないかな
584 = :
>>583
最初から意見かえたのか?
>> 438
> まだやっていたのか
> 静的につけたclassが動的処理で消える問題を考慮するなら、data-*もclassも同じ問題を抱えてる
> WeakMapを使えば良いだけ
585 = :
>>582
タグのclassを使う代わりに、JavaScriptの変数にしろっていう意見でOK?
586 = :
要するにそれを使ってスタイルを当てる、とか
カスタム要素で利用する属性である、とか
他のライブラリやモジュールから利用される、とか
第三者と共有する必要があるために、データをおおやけにする意味があるならいいが
そうでなくJSで自分自身の閉じた空間内でメモ書きがしたいだけなら
要素の属性を使うのは下品じゃないかということだろう
587 = :
>>585
一番言いたいことは、そういう方法も使えるのに要素をデータを結びつけるためには
普通要素の属性を使うもんだと考え方が狭くなってないか?ということ
それと一般的抽象的に考えて、オブジェクトとデータを結びつける効果的方法である
WeakMapをもっとどんどん使っていこうよという意見
588 = :
いや、class属性でやっていたものをWeakMap使えばいいっていうのが
必ずしも正しくないって話だろ。cssで使えないんだから
なんでもかんでもWeakMapで解決するような言い方をするからいかんのだ
589 = :
>>587
> 一番言いたいことは、そういう方法も使えるのに要素をデータを結びつけるためには
話がずれてるよ
要素とデータを結びつけたいなんて誰も言ってない
class属性のメンテナンスが面倒くさいって話をしてる
590 = :
>>588
自分はWMを使う方が良いケースもあると言っただけであって
なんでもかんでもWMでなんて一言も言っていない
>>589
それを言っちゃあそもそも論が出てきた最初の質問から5スレ後には既にずれてて
今や一般的な話になっている
そのクラスだって単にjQから利用するためのラベル付なのかもしれないしね
591 = :
>>589
要はsourceの意図
classにしても class="*-aaa, bbb" とか部類の意図を把握できればそれで良いんだよ
data-*="hoge" にしても結局は製作者の意図によるもの
ま、個々の勝手だが
592 = :
>>584
> 最初から意見かえたのか?
何言ってるかわからん
誰か別人と勘違いしてないか?
593 = :
>>587
それは一理ある
>>589
>class属性のメンテナンスが面倒くさい
それってdata君の言い分だよな
少なくとも質問者はそう思ってない
もっといい方法もあるよももっともだが質問者は断ってるしな
594 = :
>>590
> 自分はWMを使う方が良いケースもあると言っただけであって
それをいうなら、俺だって今回のケースでは
data-*属性をつかうと良いというだけで、
すべての場合でdata-*属性を使えなんて言っていない
つまり、俺が今回の問題に対してレスしている所に横から割り込んできて、
今回の問題とは無関係な話を始めたお前がおかしい
595 = :
>>593
> それってdata君の言い分だよな
質問者が言ってるよ
↓ほらね
143 名前:Name_Not_Found[sage] 投稿日:2018/01/28(日) 17:27:37.90 ID:???
> >>142
> そうなんだけど・・・の管理が面倒で
> 変更の度にそこも付け加えなくてはならなくて
> 最初つけるclassは1,2個と少ないので楽かなと
596 = :
>>591
> classにしても class="*-aaa, bbb" とか部類の意図を把握できればそれで良いんだよ
その話は>>210で俺がすでにしてる
> ま、無理やりやろうとするなら、classの値に特殊な名前つけルールを作って
> そのルールを解釈して操作する関数を作るなんて "無駄なこと" をやればできるがねw
> whiteとではなくcolor-whiteみたいにプリフィックス付けて全部列挙して color- だと・・・無駄だなw
597 = :
>>594
自分が言いたいのはその2つのどっちが優れているかではなく、
他の有効なやり方だってあるんだし、細かな意味的なことだって重要
だからそれぞれ適材適所バランス良く使おうねということ
今回のケースにしたって情報が不足してるんだからこれが最適だとかいう回答はできないから揉めている
結果一般論的にこれまでの全ての流れを踏まえて勝手なまとめ的にそういった感想を述べたまでで
君に当て付ける気なんて微塵もないし、完全に被害妄想
598 = :
>>596
無理やりとかw
どちらにしてもhtmlとしては個人の単なる部類に過ぎないし、文書構造からして無意味なこと
あくまで主観に過ぎない
599 = :
>>595
横から失礼
data-*にしてremoveClass()の部分はどうすんの?
得体のしれないclass(相当)がある場合とない場合で
600 = :
>>599
話を再確認しようか?
今回の話はdata-*属性を使ったら楽に実装できるという話であって
今回の話にremoveClass()が必要か?という話を先に決めないといけない
答えを言うと今回の話にremoveClass()は必要ない
類似してるかもしれないスレッド
- jQuery 質問スレッド vol.7 (1001) - [96%] - 2017/11/1 7:45
- + jQuery 質問用スレッド vol.7 + (136) - [76%] - 2022/12/5 13:00
- JavaScript の質問用スレッド vol.132 (1001) - [51%] - 2017/3/22 8:00
- + JavaScript の質問用スレッド vol.82 + (1001) - [48%] - 2011/1/19 7:54
- + JavaScript の質問用スレッド vol.89 + (1001) - [48%] - 2011/9/4 4:17
- + JavaScript の質問用スレッド vol.88 + (1001) - [48%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.87 + (1001) - [48%] - 2011/6/21 6:33
トップメニューへ / →のくす牧場書庫について