元スレjQuery 質問スレッド vol.8
JavaScript覧 / PC版 /みんなの評価 :
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番目以降に来ると問題が有るし
類似してるかもしれないスレッド
- 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
トップメニューへ / →のくす牧場書庫について