X



jQuery 質問スレッド vol.8
■ このスレッドは過去ログ倉庫に格納されています
0001Name_Not_Found
垢版 |
2017/10/23(月) 06:31:18.14ID:???
JavaScriptでDOM用ライブラリであるjQueryのスレです。
次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

このスレはjQueryやjQuery UIの使い方やjQueryプラグインの作り方を質問するスレです。
jQueryを使って作る側のスレであって、こんなプラグインありませんか?と聞くスレではありません。
そういうのは自分で探してください。
ろくにサポートもされてなさそうな野良プラグインの使用はおすすめしません。

JavaScriptの質問は関連スレで質問して下さい。

■前スレ
jQuery 質問スレッド vol.7
https://mevius.5ch.net/test/read.cgi/hp/1478055094/

■関連スレ
JavaScript の質問用スレッド vol.130
https://mevius.5ch.net/test/read.cgi/hp/1501503056/
ECMAScript デス 6
https://mevius.5ch.net/test/read.cgi/tech/1483332914/
JavaScript ライブラリ総合質問所 vol.5
https://echo.5ch.net/test/read.cgi/hp/1465399470/
0521Name_Not_Found
垢版 |
2018/02/17(土) 00:28:50.25ID:???
質問を自分仕様に変えて自慢げに書くスレ
質問者が言ってもいないことを言ったと言い張るスレ
0522Name_Not_Found
垢版 |
2018/02/17(土) 00:32:42.55ID:???
質問者が問題としてないことを問題として扱うスレ

ま、これはいいか
「こういう仕様ならこういう方法もあるよ」くらいなら
0523438
垢版 |
2018/02/17(土) 00:35:39.28ID:LqHG2ZTu
> ま、これはいいか
> 「こういう仕様ならこういう方法もあるよ」くらいなら
俺もそう思う
条件付き提案に「そんな条件は許さん」と食って掛かる人間が一番困る
0524Name_Not_Found
垢版 |
2018/02/17(土) 00:39:10.10ID:???
>>518
class属性の代わりにdata-*属性を使うという話をしてる
その話にWeakMapが頓珍漢な答であることは明白
だから黙ってろって話
0525Name_Not_Found
垢版 |
2018/02/17(土) 00:44:17.87ID:???
日本語読めないのかな?


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個と少ないので楽かなと


----------

$('.aaa').removeClass().addClass('aaa');
とすると、.aaaに静的に付けたその他のクラスが消えてしまうという指摘を
>>142でやっていて

質問者>>143のレスの冒頭、
それはそうなんだけど。と認めている。
そして・・・の管理が面倒だけど、最初つけるclassは1,2個で楽かなといってる

最初つけるclassが何個でもいいし・・・の管理も楽になる手段として
data-*属性を使う方法を提案している。

ここまではいいよな?
0526Name_Not_Found
垢版 |
2018/02/17(土) 00:44:37.61ID:???
data君はちゃぶ台返しをするから好きになれん
「スコープって何よ?⇒説明⇒いや、そもそもWeakMapの話なんてしてないから」
他人に説明させておいてそれはないだろ
「そもそもWeakMapの話なんてしてない」が結論ならスコープの説明を求める必要がない
0527Name_Not_Found
垢版 |
2018/02/17(土) 00:47:06.65ID:???
>>525
静的classと動的挿入classの管理が面倒だから分割したいって要件に読めるけど
0528Name_Not_Found
垢版 |
2018/02/17(土) 00:50:51.26ID:???
「静的classと動的挿入classの管理が面倒だから分割したいって」ってどういう意味ですか?

他の人、誰か理解できる人いますか?

これ自分用語で誰にも理解できない文章ですよね
0529Name_Not_Found
垢版 |
2018/02/17(土) 00:52:37.58ID:???
静的につけたclass名と動的につけたclass名が衝突してしまう可能性があるが、名前を管理するのが面倒だから処理を分割したい、という意味だろ
スコープの下りを読めば分かるだろうに
0530Name_Not_Found
垢版 |
2018/02/17(土) 00:52:55.15ID:???
>>526
> data君はちゃぶ台返しをするから好きになれん

ちゃぶ台? 最初からスコープ関係ないだろって言ってんだろ

↓ほれみろや。俺は関係しないと最初から言ってる。

498 自分:Name_Not_Found[sage] 投稿日:2018/02/16(金) 23:29:53.34 ID:???
誰かここでスコープが関係してくる理由説明できる?誰もできないと思う

500 名前:Name_Not_Found[sage] 投稿日:2018/02/16(金) 23:35:27.92 ID:???
今の属性の話に変数のスコープは関係ないからねw



関係するというのなら説明してみろって話
そして説明を聞いて、やっぱりスコープ関係してないじゃんかという結論
最初からスコープ関係ないって話をしてる。
0531Name_Not_Found
垢版 |
2018/02/17(土) 00:53:30.87ID:???
>>529
だからスコープ関係ないって言ってんだろうが
いい加減にしろ
「何を頓珍漢な事を」ぐらいにしか思っていないぞ
0532Name_Not_Found
垢版 |
2018/02/17(土) 00:55:06.96ID:???
>>529
> 静的につけたclass名と動的につけたclass名が衝突してしまう可能性があるが、

静的に付けたclass名がaaaで、動的に付けたclass名もaaaで
衝突してしまうと言いたいんですか?

では、最後の質問です。それはどこを見てそう勘違いしたんですか?

衝突ですよね。「衝突」「被る」「重複する」「同じ名前」など
それに類する言葉が使われているレスを指ししめなさい
0533Name_Not_Found
垢版 |
2018/02/17(土) 00:56:07.99ID:???
指し示すっていうのは、あんたが読んで勘違いしてしまったレスなんで
自分で書いたレス読んで自分が勘違いしたなんて
アホなことはいわないようにねw
0534Name_Not_Found
垢版 |
2018/02/17(土) 00:56:22.47ID:???
というか、>>142が問題提起したものだろ
流れ見れば、誰ても分かると思うが
0535Name_Not_Found
垢版 |
2018/02/17(土) 00:57:43.32ID:???
これですね。>>142が問題点を指摘して
質問者の>>143が「そうなんだけど」と納得した流れです。


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
そうなんだけど・・・の管理が面倒で
変更の度にそこも付け加えなくてはならなくて
0536Name_Not_Found
垢版 |
2018/02/17(土) 00:59:08.15ID:???
>>530
関係ないと初めから分かっているなら、スコープの質問をしなければよかったと思うよ
質問するまでもなく、分かっているんだから
0537Name_Not_Found
垢版 |
2018/02/17(土) 01:01:09.22ID:???
>>536
オマエ馬鹿なのか?

スコープの質問なんかしてないが?


500 名前:Name_Not_Found[sage] 投稿日:2018/02/16(金) 23:35:27.92 ID:???
今の属性の話に変数のスコープは関係ないからねw

関係あるというのなら、どういうふうに関係があるのか
説明してもらおうか。変数のスコープの説明じゃないぞ
変数のスコープが今回のclass属性の代わりにdata-*属性を使うと
管理しやすくなるという話にどう関わってくるのかの説明だ
0539Name_Not_Found
垢版 |
2018/02/17(土) 01:01:54.53ID:???
こうやってスコープの説明じゃないぞっていっても
スコープの質問をしたと勘違いするバカが居るんだよなぁw
0540Name_Not_Found
垢版 |
2018/02/17(土) 01:02:50.06ID:???
こうやって、俺が何を言ったかをいちいち書いておかないと
話を捻じ曲げてくるからな。
ずーっと捻じ曲げようとしている。
だから何度も引用するわ
0541Name_Not_Found
垢版 |
2018/02/17(土) 01:05:38.50ID:???
一人で何連投するつもりなんだか
0542Name_Not_Found
垢版 |
2018/02/17(土) 01:06:54.46ID:???
このスレを「スコープ」で検索すると最初に見つかるのはこれ


497 名前:Name_Not_Found[sage] 投稿日:2018/02/16(金) 23:28:06.66 ID:???
> data君が気が付いてない問題は、スコープでしょ
> 属性は公開されているわけだし、その答えに行き着くのは理解できるけどね

それに対する最初のレスで、すでにスコープが関係ないことを示している
関係有ることを誰も説明できない。だって関係ないもの。

498 自分:Name_Not_Found[sage] 投稿日:2018/02/16(金) 23:29:53.34 ID:???
> 誰かここでスコープが関係してくる理由説明できる?誰もできないと思う
>
> 多分こいつ、自作自演してる。書いた本人だわ
> 自分にしか通じないことしか言ってない
0543Name_Not_Found
垢版 |
2018/02/17(土) 01:07:33.01ID:???
>>541
俺が飽きるまで何連投でもするよw
せっかくの、お・も・ち・ゃw
0544Name_Not_Found
垢版 |
2018/02/17(土) 01:10:58.59ID:???
ここは質問スレではありません
data君のストレス発散スレです
0545Name_Not_Found
垢版 |
2018/02/17(土) 01:13:49.56ID:???
いいえ、質問に答えているだけです。
次から次へとくるよくわからない質問に
答えているだけです。
0546Name_Not_Found
垢版 |
2018/02/17(土) 02:22:55.37ID:???
data君はどうしてそんなに暇なのですか?
0547Name_Not_Found
垢版 |
2018/02/17(土) 09:13:40.43ID:???
おもちゃ遊びがしたいなら余所へ行けよ
0548Name_Not_Found
垢版 |
2018/02/18(日) 10:54:35.69ID:???
>>535
そうなんだけどは問題点としてではなくaaaが一旦消えること
aaaにCSS(見た目)は当ててないので閲覧者に不便はない
実際ブラウザで正常に動作する(=だからいいではないが)からいいんだよ
別に問題とは思ってないし問題にはなってない
0549Name_Not_Found
垢版 |
2018/02/18(日) 12:33:47.02ID:???
>>548
動くかどうかじゃなくてメンテナンスコストの問題

> そうなんだけど・・・の管理が面倒で
> 変更の度にそこも付け加えなくてはならなくて
0551Name_Not_Found
垢版 |
2018/02/18(日) 18:08:20.45ID:???
data-属性使ってほしくないんだろw
0552Name_Not_Found
垢版 |
2018/02/18(日) 21:18:43.54ID:???
data-属性使ってほしいんだろw
0553Name_Not_Found
垢版 |
2018/02/18(日) 23:31:46.65ID:???
結局toggleClassはどうなったんだっけ
0555Name_Not_Found
垢版 |
2018/02/19(月) 08:29:30.07ID:???
$('.aaa')
 .removeClass().addClass('aaa').end()
.attr('class', 'aaa');
0558Name_Not_Found
垢版 |
2018/02/19(月) 23:00:02.75ID:???
const君なんていたのかw
0559Name_Not_Found
垢版 |
2018/02/19(月) 23:20:56.86ID:???
優秀な書き込みは全部俺♪
0561Name_Not_Found
垢版 |
2018/02/20(火) 20:38:40.17ID:???
>>548って最初の質問の時点で読み取れるよな
勝手に問題、困ってると解釈して勝手に修正しようとしてたわけだ
0562Name_Not_Found
垢版 |
2018/02/20(火) 22:42:01.26ID:???
data君の攻撃は止まらない
0563Name_Not_Found
垢版 |
2018/02/20(火) 23:11:37.66ID:???
> >>548って最初の質問の時点で読み取れるよな

その次のレスで覆ったんだよ
0564Name_Not_Found
垢版 |
2018/02/20(火) 23:23:10.95ID:???
data君は自分が優秀だと思っている
こんなところにいる底辺な奴らに自分が馬鹿にされていいわけがない
そうだ、明らかに馬鹿なこいつを煽ってやろう
馬鹿なこいつは自爆するからそこを追求してやればいい
そうして、皆が自分を優秀な人間だと認めるだろう
0565Name_Not_Found
垢版 |
2018/02/20(火) 23:30:10.41ID:???
相変わらず中身が無いことをべらべら喋るなw
0566Name_Not_Found
垢版 |
2018/02/21(水) 01:03:44.87ID:???
date君のプロファイリングか
0570Name_Not_Found
垢版 |
2018/02/21(水) 22:41:21.32ID:???
>>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-*属性を使った場合は、全ての問題が解決する
0573Name_Not_Found
垢版 |
2018/02/22(木) 15:37:04.38ID:???
classは論外だが何でもかんでもdata-に頼るべきではない
<custom-postit data-form=circle
のように基本的に使うものであって、
ある特定のJS内で完結する場合の要素へのデータの紐付けはWeakMapを使うべき
0575Name_Not_Found
垢版 |
2018/02/22(木) 20:31:42.67ID:???
弱くて迷いそう。ストロングナビ使いたい。
0576Name_Not_Found
垢版 |
2018/02/22(木) 20:58:23.32ID:???
>>574
詳しく言うとJS内で完結するというのは主にCSSと連携しないってことだよ
CSSからJS内の変数は読み書きできないから変数の値が○○の時に色を変えるとかはできない
data-ならCSSと連携できるがそれが必要ないなら場合はJSでいい

もともとは全部classに入れていたわけだけど、classをCSSと連携しない使い方をしてるなら
data-ではなくJS側に全部持ってこれるということ
今回がどっちに当てはまるのかはしらないけどね
0577Name_Not_Found
垢版 |
2018/02/22(木) 21:07:38.86ID:???
ん?元は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側に持ってこれるとは思わないな。
0578Name_Not_Found
垢版 |
2018/02/22(木) 21:29:38.74ID:???
> ん?元はclass使っていたってことは、CSSと連携したいってことでは?
ただの思い込み
0579Name_Not_Found
垢版 |
2018/02/22(木) 21:51:07.16ID:???
その理屈で言えば、WeakMapでできるというのも思い込みなわけで
0580Name_Not_Found
垢版 |
2018/02/22(木) 21:51:08.74ID:???
$(V.aaaV).attr(VclassV, VaaaV);
0581Name_Not_Found
垢版 |
2018/02/22(木) 21:52:25.33ID:???
>>579
最初はそれに気づかずに、CSSと連携できないって
指摘されて意見を変えたみたいねw
0582573
垢版 |
2018/02/22(木) 22:48:31.78ID:???
言っとくけど俺は573以降ここまでレスしてないから
それに意見を変えたって、一体どういうこと?
意見は全部573に含まれてて完結している

書いたとおり、要素とデータを結びつけるときには必ずしも要素の属性を利用しなくとも
WeakMapの方が勧められる『場合もある』と言っただけ
そしてその理由は主にセマンティクス上のもので機能の優劣を述べたつもりもない

間隔としてはグローバル変数をむやみに使うなと同じような小言
それ以上でもそれ以下でもない
大人ならすぐ他人を煽ったり話を茶化して非建設的な流れに持っていくのは辞めろ
0583Name_Not_Found
垢版 |
2018/02/22(木) 23:18:37.32ID:???
>>576
文は長いが書いてあること全然詳しくないのだが
具体的にお願いできないかな
0584Name_Not_Found
垢版 |
2018/02/22(木) 23:26:29.20ID:???
>>583
最初から意見かえたのか?

>> 438
> まだやっていたのか
> 静的につけたclassが動的処理で消える問題を考慮するなら、data-*もclassも同じ問題を抱えてる
> WeakMapを使えば良いだけ
0585Name_Not_Found
垢版 |
2018/02/22(木) 23:27:30.13ID:???
>>582
タグのclassを使う代わりに、JavaScriptの変数にしろっていう意見でOK?
0586Name_Not_Found
垢版 |
2018/02/22(木) 23:31:15.95ID:???
要するにそれを使ってスタイルを当てる、とか
カスタム要素で利用する属性である、とか
他のライブラリやモジュールから利用される、とか
第三者と共有する必要があるために、データをおおやけにする意味があるならいいが

そうでなくJSで自分自身の閉じた空間内でメモ書きがしたいだけなら
要素の属性を使うのは下品じゃないかということだろう
0587Name_Not_Found
垢版 |
2018/02/22(木) 23:37:31.10ID:???
>>585
一番言いたいことは、そういう方法も使えるのに要素をデータを結びつけるためには
普通要素の属性を使うもんだと考え方が狭くなってないか?ということ

それと一般的抽象的に考えて、オブジェクトとデータを結びつける効果的方法である
WeakMapをもっとどんどん使っていこうよという意見
0588Name_Not_Found
垢版 |
2018/02/22(木) 23:48:20.73ID:???
いや、class属性でやっていたものをWeakMap使えばいいっていうのが
必ずしも正しくないって話だろ。cssで使えないんだから
なんでもかんでもWeakMapで解決するような言い方をするからいかんのだ
0589Name_Not_Found
垢版 |
2018/02/22(木) 23:52:33.97ID:???
>>587
> 一番言いたいことは、そういう方法も使えるのに要素をデータを結びつけるためには
話がずれてるよ

要素とデータを結びつけたいなんて誰も言ってない
class属性のメンテナンスが面倒くさいって話をしてる
0590Name_Not_Found
垢版 |
2018/02/23(金) 09:21:20.79ID:???
>>588
自分はWMを使う方が良いケースもあると言っただけであって
なんでもかんでもWMでなんて一言も言っていない

>>589
それを言っちゃあそもそも論が出てきた最初の質問から5スレ後には既にずれてて
今や一般的な話になっている
そのクラスだって単にjQから利用するためのラベル付なのかもしれないしね
0591Name_Not_Found
垢版 |
2018/02/23(金) 10:09:01.97ID:???
>>589
要はsourceの意図
classにしても class="*-aaa, bbb" とか部類の意図を把握できればそれで良いんだよ
data-*="hoge" にしても結局は製作者の意図によるもの
ま、個々の勝手だが
0592Name_Not_Found
垢版 |
2018/02/23(金) 21:49:01.55ID:???
>>584
> 最初から意見かえたのか?

何言ってるかわからん
誰か別人と勘違いしてないか?
0593Name_Not_Found
垢版 |
2018/02/23(金) 22:05:16.07ID:???
>>587
それは一理ある

>>589
>class属性のメンテナンスが面倒くさい
それってdata君の言い分だよな

少なくとも質問者はそう思ってない
もっといい方法もあるよももっともだが質問者は断ってるしな
0594Name_Not_Found
垢版 |
2018/02/24(土) 00:51:29.52ID:???
>>590
> 自分はWMを使う方が良いケースもあると言っただけであって

それをいうなら、俺だって今回のケースでは
data-*属性をつかうと良いというだけで、
すべての場合でdata-*属性を使えなんて言っていない

つまり、俺が今回の問題に対してレスしている所に横から割り込んできて、
今回の問題とは無関係な話を始めたお前がおかしい
0595Name_Not_Found
垢版 |
2018/02/24(土) 00:52:35.74ID:???
>>593
> それってdata君の言い分だよな
質問者が言ってるよ

↓ほらね

143 名前:Name_Not_Found[sage] 投稿日:2018/01/28(日) 17:27:37.90 ID:???
> >>142
> そうなんだけど・・・の管理が面倒で
> 変更の度にそこも付け加えなくてはならなくて
> 最初つけるclassは1,2個と少ないので楽かなと
0596Name_Not_Found
垢版 |
2018/02/24(土) 00:54:02.66ID:???
>>591
> classにしても class="*-aaa, bbb" とか部類の意図を把握できればそれで良いんだよ


その話は>>210で俺がすでにしてる

> ま、無理やりやろうとするなら、classの値に特殊な名前つけルールを作って
> そのルールを解釈して操作する関数を作るなんて "無駄なこと" をやればできるがねw
> whiteとではなくcolor-whiteみたいにプリフィックス付けて全部列挙して color- だと・・・無駄だなw
0597Name_Not_Found
垢版 |
2018/02/24(土) 05:43:09.54ID:???
>>594
自分が言いたいのはその2つのどっちが優れているかではなく、
他の有効なやり方だってあるんだし、細かな意味的なことだって重要
だからそれぞれ適材適所バランス良く使おうねということ

今回のケースにしたって情報が不足してるんだからこれが最適だとかいう回答はできないから揉めている
結果一般論的にこれまでの全ての流れを踏まえて勝手なまとめ的にそういった感想を述べたまでで
君に当て付ける気なんて微塵もないし、完全に被害妄想
0598Name_Not_Found
垢版 |
2018/02/24(土) 08:37:35.14ID:???
>>596
無理やりとかw
どちらにしてもhtmlとしては個人の単なる部類に過ぎないし、文書構造からして無意味なこと
あくまで主観に過ぎない
0599Name_Not_Found
垢版 |
2018/02/24(土) 13:22:35.91ID:???
>>595
横から失礼
data-*にしてremoveClass()の部分はどうすんの?
得体のしれないclass(相当)がある場合とない場合で
0600Name_Not_Found
垢版 |
2018/02/24(土) 13:57:38.27ID:???
>>599
話を再確認しようか?

今回の話はdata-*属性を使ったら楽に実装できるという話であって
今回の話にremoveClass()が必要か?という話を先に決めないといけない

答えを言うと今回の話にremoveClass()は必要ない
0601Name_Not_Found
垢版 |
2018/02/24(土) 13:59:08.58ID:???
今回の話data-*属性を使ってclass属性をエミュレートしましょうって話じゃない。

今回の話はclass属性を無理やり使ってるのをやめて
data-*属性を使えばシンプルに実装できる。という話だから
0602Name_Not_Found
垢版 |
2018/02/24(土) 14:36:07.77ID:???
まあ別にremoveClassなんて簡単な処理なんだけどねw

var data = "foo foobar foo bar";
console.log(data.replace(/(^|\s)foo(\s|$)/g, ' '));
0603Name_Not_Found
垢版 |
2018/02/24(土) 14:46:41.79ID:???
こんな感じかな

$(・・・).attr('data-class', function(attr) {
 return attr.replace(/(^|\s)foo(\s|$)/g, ' ');
});

アロー関数を使えば一行

$(・・・).attr('data-class', attr =>attr.replace(/(^|\s)foo(\s|$)/g, ' '));

これ以上減らしたければjQueryプラグインを作れば良いんじゃないかな?
一応CSSには[attr~=value]というclassっぽく解釈する属性セレクタが有るから
属性を空白区切りの語のリストとして操作するプラグインは
準標準といってもいいぐらいの価値はあると思う。
0604Name_Not_Found
垢版 |
2018/02/24(土) 15:05:12.45ID:???
折角DOMTokenListが使えるclassListを使わずに
dataset使ったと思えばDOMStringMapも利用しないで文字列パースとか
正気の沙汰とは思えんな
そんなやり方のほうがよっぽど他に方法がなかったのかと言われるおかしいことだと思うがね
0605Name_Not_Found
垢版 |
2018/02/24(土) 15:16:14.32ID:???
全くシンプルじゃない
スマートフォンがスマートじゃないのと同じこと
0606Name_Not_Found
垢版 |
2018/02/24(土) 15:17:20.45ID:???
>>604
おまえは知らんかもしれんけど、classListが使えるようになったのってIE10からだぞ。
それまでjQueryを使わない場合に、普通にやっていたことなんだが
ほんと正気の沙汰じゃなかったよねw
0607Name_Not_Found
垢版 |
2018/02/24(土) 15:18:32.27ID:???
ほらねw

だから最初に今回はremoveClass()は不要っていう話をしようって
言ったんだが。
0608Name_Not_Found
垢版 |
2018/02/24(土) 15:19:18.02ID:???
今回の話はdata-*属性をつかうといシンプルにできるって話をしてるのに
話が通じないのは馬鹿だからか卑怯だからか
0609Name_Not_Found
垢版 |
2018/02/24(土) 15:22:20.69ID:???
わかった。今回の話はdata-*属性を使ったほうが
シンプルにできる。

で?
0610Name_Not_Found
垢版 |
2018/02/24(土) 15:24:55.49ID:???
で?と言われてもな

今回はdata-*属性を使ったほうがシンプルにできるから
data-*属性を使いましょう。とかしか
何が聞きたいの?
0611Name_Not_Found
垢版 |
2018/02/24(土) 15:42:42.97ID:???
599です

>>600
>今回の話にremoveClass()が必要か?という話を先に決めないといけない
ごもっとも

>>602,603
removeClass()でいいかな、わかりやすいし
0612Name_Not_Found
垢版 |
2018/02/24(土) 16:16:39.83ID:???
data-*属性を使おうっていう話は
一つのdata-*属性に複数の値を空白区切りで
入れたりはしないのでremoveClass()は単に
attr('data-name', '') でいいんだよ

いっぺんに複数の値を初期化したければ
attr({data-name1: '', data-name2: '', data-name3: ''})
という書き方もできる
0613Name_Not_Found
垢版 |
2018/02/24(土) 16:19:53.90ID:???
そういやremoveAttr()ってのもあったな
スペース区切りで同時に複数の属性を消せるようだ
0614Name_Not_Found
垢版 |
2018/02/24(土) 16:23:35.66ID:???
そうか一個しか存在しないclass属性は一つの属性に複数入れるために
スペース区切りで入れるしかないけどdata-属性は複数作れるから
そんなことしなくていいいだな
0615Name_Not_Found
垢版 |
2018/02/24(土) 19:05:36.43ID:???
>>612
それだと
> 変更の度にそこも付け加えなくてはならなくて
と変わらないぞ
0616Name_Not_Found
垢版 |
2018/02/24(土) 19:24:05.19ID:???
>>615
え?ぜんぜん違う。

classはいろんな目的で使われるから、想定外のものだって入る可能性がある
特にデザインでclassを使うのはごく普通に行われる
だから消す時に想定外のものが入っている場合どうするかという話が出てくる
data-*属性だと想定外のものは入らないのでそういった問題がない


具体的にいうと

<span class="target ?? aaa bbb ccc ・・・">というものから、
.targetのクラスという条件に当てはまるものから、aaa, bbb, cccのように
アルファベット3文字のものだけを消そうとすると面倒
removeClass()を使って全部消すと、消してはいけないtargetや??まで消える。

だけど消したいものをdata-*属性に入れていれば

<span class="target ??" data-name="aaa bbb ccc ・・・">
.targetクラスという条件に当てはまるものから、data-name属性を消すだけで
targetと??に影響をあたえること無く消したいものだけを消せる
0617Name_Not_Found
垢版 |
2018/02/24(土) 19:30:56.75ID:???
もうキチガイdata君の相手するなよ
0618Name_Not_Found
垢版 |
2018/02/24(土) 19:32:27.47ID:???
そうそう勝ち目ないんだからw
0619Name_Not_Found
垢版 |
2018/02/24(土) 20:18:35.43ID:???
>>613
引数なしはないので代わりにはならない
0620Name_Not_Found
垢版 |
2018/02/24(土) 20:19:36.85ID:???
>>616
逆に言うとライブラリの想定外のものが消せない
0621Name_Not_Found
垢版 |
2018/02/24(土) 21:04:34.07ID:???
>>461
> 次のスレタイ=マウント取りたくてウズウズしているスレ

data君がマウント取りたくてウズウズしているスレ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況