jQuery 質問スレッド vol.8
■ このスレッドは過去ログ倉庫に格納されています
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/ ちなみに
静的に付けたclassが消えてしまうことは問題でもなんでもない
承知でやってること 承知でやっているがもっといい方法ないかなーってこと。 >>472
面倒は初期だけのことでeeeが増えてその処理(toggleClass('eee')など)が増えることは当たり前で面倒でもなんでもない >>477
じゃあ、data-*属性のどこが問題かの話を何故しないのですか?
もっと優れたやり方(data-*属性)を提示したんだから
もうclassに拘る必要ないでしょ良いでしょw
はいはい、classわすれたー
data-*属性でいきましょうー >>476
じゃあお前はそこで議論から外れてください。 >>469
属性なんだから、いくらでもremoveClassやsetAttributeで干渉できるだろ >>478
ありかなしか、次のレスで解決してるのでけっこうです
でも参考になりましたわ よい方法だろうがなんだろうがゴリ押しdataくんが大嫌いなのでdataは絶対使いません! >>481
静的につけたclassが動的処理で消える 482の追記
data-属性はcssからめて別では使ってます
どうもでした >>484
じゃあclassを動的処理で消している部分をなくせば問題ないってことですよね。
=class使うなってことです。 >>486
属性を使うのを止めれば良い
お前が>>440で見当違いの事を言ってたから反論しただけなんだが、自分の間違いも認められないとは >>487
面倒だから解決方法を探してる
面倒じゃない人はお前ん中では面倒じゃないんだから
お前ん中の世界にいればいいって話 >>488
classも属性ですが?
属性を使うな、何を言ってるのでしょうか。
classが動的処理で消えるというなら、
data-*属性を使ってclassに一切触らなければ
classが消えることはありません。
反論どうぞ >>490
>>438を100回読み直せ
読解力が無さ過ぎてあきれる > data-*属性を使ってclassに一切触らなければ
data-*属性も動的処理で消せるだろ
アホなのか、こいつは >>491
読み返した所で>>438が馬鹿だとしか思えませんが?
なぜかって?classが動的処理で消える問題とか言ってるから馬鹿なんですよ。
classがremoveClass()でいっぺんに消した時に全部消えてしまうって話なんだから
data-*を使えばremoveClass()を使ったとしても消えることはない
そもそもclassを使わないのだからremoveClass()自体不要
>>438が馬鹿な理由わかりますか?この話をしてるのに
JavaScriptから消す方法があるの話を勘違いしてるんですよ
バカ以外の何物でもないでしょう
何か反論は? > data-*属性も動的処理で消せるだろ
墓穴ほってるよなーw
動的処理で消せること自体は問題にしてないのにwww >>438は問題に対する解を持っている
data君は問題とは思っていないし、全く別のベクトルで問題を指摘してる
お互いに問題とは思っていないのだから、平行線なのは当然の事
だが、data君は>>438が導き出した答えの意味を理解してないだろうな >>495
じゃあ理解してるお前が説明してみせたら?
そしたら逃げるんだよなーw data君が気が付いてない問題は、スコープでしょ
属性は公開されているわけだし、その答えに行き着くのは理解できるけどね 誰かここでスコープが関係してくる理由説明できる?誰もできないと思う
多分こいつ、自作自演してる。書いた本人だわ
自分にしか通じないことしか言ってない 今の属性の話に変数のスコープは関係ないからねw
関係あるというのなら、どういうふうに関係があるのか
説明してもらおうか。変数のスコープの説明じゃないぞ
変数のスコープが今回のclass属性の代わりにdata-*属性を使うと
管理しやすくなるという話にどう関わってくるのかの説明だ 解決してるのに解決してないと言い張ってどうしてもそれを使わないと納得がいかないスレ 何とも、面倒くさい奴だな
WeakMapを使ってコードを書く場面を想定しろ
> 静的につけたclassが動的処理で消える問題
静的処理とは別に動的処理だけで参照できる場所にデータを持てばよい
WeakMapで作られた変数のスコープはグローバルスコープにしなければ、外部から干渉されない
当然、静的処理でマークアップされたclass属性やdata-*属性と衝突する事もない
属性はDOM APIによって開けた環境にあるので、いくらでも外部干渉を受ける
つまり、属性は静的処理と動的処理が衝突してしまうという事だ >>502
じゃあ属性を使わずそのWeakMapを使って
cssで色をつける方法を書いてください ちなみにdata-*属性を使った場合はこう書きます
[data-hoge="foo"] { color: red } data君がどう言い訳するのかと思ったら、「論点のすり替え」か classの代わりとして使えないんじゃ、意味ないですからね 論点は最初からclassの代わりとして使えることが条件ですが? >>498
スコープ君は質問者ではないよ
おれもなぜスコープが出てくるのかわかりませぬ 結局、変数のスコープで合ってるじゃん
自分で気が付かなかった事実を認めたくないから話題を逸らしてるんでしょ たぶん、data-*属性と聞いて、jQueryのdata()メソッド、要素に紐付いたデータを持たせたい
という話と勘違いしちゃったんでしょうねw
そんな話はしてない。もともとclassを使おうとしていて、管理が面倒くさい
どうにかならないかって話で、data-*属性をつかえばいいという流れ
data-*属性はclassの代替として使用できる。そして管理が楽になる
(classは名前無しで値しか入れられないが、data-*属性は、data-名前=値という組みで入れられるから) >>509
> 結局、変数のスコープで合ってるじゃん
日本語怪しい。わざと曖昧なことを言って論点をすり替えようとしている。
変数のスコープで何があってるのか。
そして今回の話にどう絡んでくるのか言ってみ
classの代替としてWeakMapが使えないのはすでに証明済み WeakMapを使う時点で変数に格納するのは分かり切っているんだが WeakMapを使う時点ってなんのこと?
class属性の代替としてdata-*属性を使うと管理が簡単だよ
CSSでも属性セレクタで使えるし
って話の中に、いきなり無関係のWeakMapがでてきたんでしょ?
WeakMapを使う"時点" なんてものは存在してない >どうにかならないか
まあ質問者はそんなこと言ってなくて回答者が勝手に作って話進めてるだけなんだけどなw 言ってますがなw
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個と少ないので楽かなと 質問者はありかなしかだけ
そのだいぶ後に追記してるだけ 俺は質問者ではないよ
ただの傍観者で「WeakMapを使えばいいのに」と思ったから横から口をはさんだだけ
少なくとも、>>438の問題はCSS適用外の仕様で考えているから、>>440や>>503に対しては「何を頓珍漢な事を」ぐらいにしか思っていない
元々、静的処理とは別のスコープを持つことを意図しているわけで、CSSが適用できないのは当然の事だ
何か知らんが、俺が取り上げている問題を無視して、俺が取り上げてもいない問題を勝手に持ってきて反論してくるから、正直疲れる
読解力がないというよりも読む気が無くて、自分の考えしか頭にないタイプなのかね >>513
静的につけたclassが動的処理で消える問題 質問を自分仕様に変えて自慢げに書くスレ
質問者が言ってもいないことを言ったと言い張るスレ 質問者が問題としてないことを問題として扱うスレ
ま、これはいいか
「こういう仕様ならこういう方法もあるよ」くらいなら > ま、これはいいか
> 「こういう仕様ならこういう方法もあるよ」くらいなら
俺もそう思う
条件付き提案に「そんな条件は許さん」と食って掛かる人間が一番困る >>518
class属性の代わりにdata-*属性を使うという話をしてる
その話にWeakMapが頓珍漢な答であることは明白
だから黙ってろって話 日本語読めないのかな?
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-*属性を使う方法を提案している。
ここまではいいよな? data君はちゃぶ台返しをするから好きになれん
「スコープって何よ?⇒説明⇒いや、そもそもWeakMapの話なんてしてないから」
他人に説明させておいてそれはないだろ
「そもそもWeakMapの話なんてしてない」が結論ならスコープの説明を求める必要がない >>525
静的classと動的挿入classの管理が面倒だから分割したいって要件に読めるけど 「静的classと動的挿入classの管理が面倒だから分割したいって」ってどういう意味ですか?
他の人、誰か理解できる人いますか?
これ自分用語で誰にも理解できない文章ですよね 静的につけたclass名と動的につけたclass名が衝突してしまう可能性があるが、名前を管理するのが面倒だから処理を分割したい、という意味だろ
スコープの下りを読めば分かるだろうに >>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
関係するというのなら説明してみろって話
そして説明を聞いて、やっぱりスコープ関係してないじゃんかという結論
最初からスコープ関係ないって話をしてる。 >>529
だからスコープ関係ないって言ってんだろうが
いい加減にしろ
「何を頓珍漢な事を」ぐらいにしか思っていないぞ >>529
> 静的につけたclass名と動的につけたclass名が衝突してしまう可能性があるが、
静的に付けたclass名がaaaで、動的に付けたclass名もaaaで
衝突してしまうと言いたいんですか?
では、最後の質問です。それはどこを見てそう勘違いしたんですか?
衝突ですよね。「衝突」「被る」「重複する」「同じ名前」など
それに類する言葉が使われているレスを指ししめなさい 指し示すっていうのは、あんたが読んで勘違いしてしまったレスなんで
自分で書いたレス読んで自分が勘違いしたなんて
アホなことはいわないようにねw というか、>>142が問題提起したものだろ
流れ見れば、誰ても分かると思うが これですね。>>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
そうなんだけど・・・の管理が面倒で
変更の度にそこも付け加えなくてはならなくて >>530
関係ないと初めから分かっているなら、スコープの質問をしなければよかったと思うよ
質問するまでもなく、分かっているんだから >>536
オマエ馬鹿なのか?
スコープの質問なんかしてないが?
500 名前:Name_Not_Found[sage] 投稿日:2018/02/16(金) 23:35:27.92 ID:???
今の属性の話に変数のスコープは関係ないからねw
関係あるというのなら、どういうふうに関係があるのか
説明してもらおうか。変数のスコープの説明じゃないぞ
変数のスコープが今回のclass属性の代わりにdata-*属性を使うと
管理しやすくなるという話にどう関わってくるのかの説明だ こうやってスコープの説明じゃないぞっていっても
スコープの質問をしたと勘違いするバカが居るんだよなぁw こうやって、俺が何を言ったかをいちいち書いておかないと
話を捻じ曲げてくるからな。
ずーっと捻じ曲げようとしている。
だから何度も引用するわ このスレを「スコープ」で検索すると最初に見つかるのはこれ
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:???
> 誰かここでスコープが関係してくる理由説明できる?誰もできないと思う
>
> 多分こいつ、自作自演してる。書いた本人だわ
> 自分にしか通じないことしか言ってない >>541
俺が飽きるまで何連投でもするよw
せっかくの、お・も・ち・ゃw ここは質問スレではありません
data君のストレス発散スレです いいえ、質問に答えているだけです。
次から次へとくるよくわからない質問に
答えているだけです。 >>535
そうなんだけどは問題点としてではなくaaaが一旦消えること
aaaにCSS(見た目)は当ててないので閲覧者に不便はない
実際ブラウザで正常に動作する(=だからいいではないが)からいいんだよ
別に問題とは思ってないし問題にはなってない >>548
動くかどうかじゃなくてメンテナンスコストの問題
> そうなんだけど・・・の管理が面倒で
> 変更の度にそこも付け加えなくてはならなくて >>553
attr()メソッド使えばいいで終わり $('.aaa')
.removeClass().addClass('aaa').end()
.attr('class', 'aaa'); >>548って最初の質問の時点で読み取れるよな
勝手に問題、困ってると解釈して勝手に修正しようとしてたわけだ > >>548って最初の質問の時点で読み取れるよな
その次のレスで覆ったんだよ data君は自分が優秀だと思っている
こんなところにいる底辺な奴らに自分が馬鹿にされていいわけがない
そうだ、明らかに馬鹿なこいつを煽ってやろう
馬鹿なこいつは自爆するからそこを追求してやればいい
そうして、皆が自分を優秀な人間だと認めるだろう >>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-*属性を使った場合は、全ての問題が解決する classは論外だが何でもかんでもdata-に頼るべきではない
<custom-postit data-form=circle
のように基本的に使うものであって、
ある特定のJS内で完結する場合の要素へのデータの紐付けはWeakMapを使うべき ■ このスレッドは過去ログ倉庫に格納されています