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

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ+ JavaScript & jQuery 質問用スレッド vol.7 +

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
401 : Name_Not - 2017/08/04(金) 18:00:53.21 ID:???.net (+44,+21,-30)
遅延実行すればいいだけの話だろ
402 : Name_Not - 2017/08/04(金) 19:15:35.74 ID:???.net (-1,-29,-37)
画像の場合はdecode()を呼べばツリーに挿入して次のレンダリングで描画されてることが保証される
403 : Name_Not - 2017/08/04(金) 21:22:50.99 ID:???.net (+189,-30,-56)
セレクタの指定方法について質問です。
「クラス名.hoge1と.hoge2の両方の値が空の場合」を指定するにはどう記述したらよいでしょうか?

$('.hoge1:empty.hoge2:empty')のように書きたいのですが・・
404 : 403 - 2017/08/04(金) 21:23:32.25 ID:pfX/nTry.net (+17,+18,-14)
すいません>>403はjQueryの話です
405 : Name_Not - 2017/08/05(土) 00:19:47.58 ID:???.net (+6,-25,-6)
値とは?value属性のこと?
具体的にhtmlで書いて欲しい
406 : Name_Not - 2017/08/05(土) 00:24:14.55 ID:???.net (+75,+29,-81)
>>403
まず遠回りして説明するとセレクタの指定方法として質問が適切じゃない
「場合」と書いているからifの条件みたいになってる。

セレクタの話をするならば、「クラス名がhoge1で値が空の要素を選択したい」
という形で聞かなければいけない。セレクタ=セレクトする人だから選択

ということで、何を選択したいのか?を考えてみようか?
407 : Name_Not - 2017/08/05(土) 00:37:56.48 ID:???.net (+15,-30,-201)
>>405 失礼しやした。タグ内のテキストノードもしくは要素です。
<li>
<p class="hoge1">テキスト</p>
<p class="hoge2"></p>
</li>
<li>
<p class="hoge1"></p>
<p class="hoge2"></p>
</li>
<li>
<p class="hoge1"></p>
<p class="hoge2"><img src="hoge.png"></p>
</li>

>>406
例えば、上記hoge1、hoge2共にタグ内が空のliを選択
408 : Name_Not - 2017/08/05(土) 00:51:00.54 ID:???.net (+4,-30,-205)
>>407
話が変わったなw

選択したいものは何か?liだろう?
なら最初にliを選択したいというのが来る

$('li')

そしてその後は条件と考えられる。
その条件がCSSとして書けるものであるかどうかって話だが、

残念ながら「選択したい要素(=親要素)の"子要素がemptyである場合"(の親要素)を選択する」
というような、選択したい要素と、条件がかかっている要素が違う場合は、CSS3では実現できない。
CSS4でなら実現可能かも知れないが。

ブラウザが対応していればCSS4のセレクタが使えるかもしれないが、
jQueryはCSS3までの対応となってるので、単純なセレクタでは実現できない。

だからセレクタと条件を分けて考える必要がある。
409 : Name_Not - 2017/08/05(土) 00:54:29.41 ID:???.net (+0,-30,-17)
>>407
これ
$(':empty')
http://js.studio-kingdom.com/jquery/selector/empty_selector

眠たいから寝る。あとは頑張れ
410 : Name_Not - 2017/08/05(土) 00:55:39.48 ID:???.net (+3,-29,-95)
そしてな、

クラス名.hoge1と.hoge2の両方の値が空の場合というのは


クラス名.hoge1の値が空ではない
または
クラス名.hoge2の値が空ではない

というセレクタを使って選択した結果、見つかった要素数が0である

と置き換えられる。

「クラス名.hoge1と.hoge2の両方の値が空の場合」という言葉には
セレクタと条件の2つが含まれているわけだよ
411 : Name_Not - 2017/08/05(土) 01:05:32.42 ID:???.net (-2,-30,-47)
jQuery("li .hoge1:empty").parent().find(".hoge2:empty").parent("li");

我ながら酷い回答だわ・・・
412 : Name_Not - 2017/08/05(土) 01:11:32.64 ID:???.net (+68,-30,+0)
ということで回答はこれだな

$('li').filter(function() {
  // return $(this).find('.hoge1:not(:empty), .hoge2:not(:empty)').length === 0;
  // return $(this).find('.hoge1, .hoge2').filter(':not(:empty)').length === 0;
  return $(this).find('.hoge1, .hoge2').not(':empty').length === 0;
});

見ての通り、単発のセレクタというものはない
セレクタと条件が組み合わせる必要がある。

CSS4を使えば、単発のセレクタにできるかもしれない



と、ここまで書いて、調べてCSS4ではhasを使えばできそうだと知った所で
jQueryにもhasはあることを思い出してシンプルに書き換えた。
もちろんこれも単発のセレクタではない。

$('li').has('.hoge1:empty').has('.hoge2:empty')


CSS4だと、$('li:has(.hoge1:empty):has(.hoge2:empty)')
こんな感じで、単発のセレクタで書けると思うが
jQuery以前にブラウザが対応していない。
http://caniuse.com/#search=%3Ahas
413 : Name_Not - 2017/08/05(土) 02:08:21.51 ID:???.net (+18,-9,-35)
hoge1の中身が空であることを確認したあと
hoge2の中身の確認を終えて条件の判断を行うまでの間にhoge1が空でなくなったら
414 : Name_Not - 2017/08/05(土) 05:42:03.61 ID:???.net (+57,+29,-33)
そもそも値が空だとか中身が空という意味がわからない
子要素は値とか中身とは言わない
あとShadowRoot下に要素があったらどうすんのよ?
415 : Name_Not - 2017/08/05(土) 05:44:09.67 ID:???.net (+63,+29,-31)
そういうのは空だとかいう曖昧な基準で物を考えるべきじゃないね
そもそも仮に子要素が空白文字のテキストノードだったらそれも選択すべきかもしれないし
その場しのぎの基準と作業はやめて本質的なことをすべき
416 : Name_Not - 2017/08/05(土) 07:38:43.52 ID:???.net (+91,+29,-32)
:emptyって書いてるんだから曖昧じゃないだろ
自分が答えられなかっただけのくせに、いい加減にしておけ。
417 : Name_Not - 2017/08/05(土) 08:48:26.24 ID:???.net (+58,+25,+0)
>>412
あぁhasがあったか、ありがとう
418 : 403 - 2017/08/05(土) 09:24:47.94 ID:???.net (+67,+29,-13)
>>412
質問がテキトーでご迷惑おかけしやした。
.hasでしたか、いや後から考えると確かにごもっともですね。
ありがとうございやした。
419 : Name_Not - 2017/08/05(土) 11:18:24.51 ID:???.net (+106,+30,-122)
>>416
何を怒ってるのか分からないんだけど
本当にそれが本質なのか?と説いてるんだよ
閉じた空間ならまあそうは言わないが
HTMLとDOMっていうの自体が曖昧性と干渉による不確か性を孕んでるからね
だからそれに対してシンプルな物で立ち向かうって言うのは逆に曖昧ということになってしまうんだよ
そういうときのJSの基本として、吸収できるように冗長に書くことを考えなければいけない
もしくは、ShadowDOMでカプセル化したりしなければ良くないよと言うこと
420 : Name_Not - 2017/08/05(土) 11:27:38.24 ID:???.net (+105,+30,-41)
つまりね、一番言いたいことは単純なセレクタで片付けようとするばかりでなく
時には非スマートでもいいから『自分で書こうとする気』も必要ということ
コードのスマートさを重視して暗黙的な細かい要件を変えるテクニックは重要だが難しいもの
421 : Name_Not - 2017/08/05(土) 12:00:05.16 ID:???.net (+117,+29,-101)
>>419
だから何がそんなに気に食わないのか?

hasっていうのはCSS4で策定予定なことからもわかるように
>>403がやりたいことっていうのは、たしかにセレクタで
やるべきことなんだよ。

jQueryはそれと同じことをメソッドとして先行実装しているだけ。


>>420
セレクタを使って簡単にquerySelectorAllで要素を取得できることを
自力で頑張れというのなら君はセレクタをJavaScriptで使わなくていいよw
422 : Name_Not - 2017/08/05(土) 13:13:29.15 ID:???.net (+63,+30,-65)
こんなイメージ?

①アメリカ人で20代の男性と日本人で30代の女性の方、
集合時間についての大事なお知らせがあります。

②今から言う対象の方、集合時間についての大事なお知らせがあります。
対象の方は、アメリカ人で20代かつ男性、もしくは日本人で30代かつ女性
それ以外の人は聞かなくて大丈夫です。
423 : Name_Not - 2017/08/05(土) 15:48:59.28 ID:???.net (+112,+30,-55)
>>421
セレクタを使うのが悪いとは言っていない
セレクタくらい自分で調べろ、これはコード作成依頼に近いというのもあるが、
それよりも気に食わないのはemptyだとかそういう単純な物で物事を解決しようとする姿勢
もっというとセレクタや$()に頼りすぎてるということ
そんなことじゃ柔軟性を失って本質を見失って良いことはない
424 : Name_Not - 2017/08/05(土) 15:56:18.50 ID:???.net (-1,-29,-6)
CSSにもある:emptyがだめな理由を
書いてみようか?
425 : Name_Not - 2017/08/05(土) 15:57:14.23 ID:???.net (+57,+29,-37)
要件がシンプルなのが気に食わない
複雑な要件に変更するべきだ!
っていうのなら本末転倒だなw

気に食わないという理由で
勝手に要件を変えるな
426 : Name_Not - 2017/08/05(土) 15:58:30.54 ID:???.net (+92,+28,-29)
> もっというとセレクタや$()に頼りすぎてるということ
セレクタや$()に頼らないのは本質ではない。
本質とはどんな手を使ってでも素早く要件を実現することだ。
427 : Name_Not - 2017/08/05(土) 17:07:29.51 ID:???.net (+38,-18,-36)
日本と他国のjQueryの使用率データがない件w
428 : Name_Not - 2017/08/05(土) 17:08:01.48 ID:???.net (+72,+29,-33)
>>423
すまん、全く意味がわからんwww
具体的にどんなコードを書けば満足なんだw
429 : Name_Not - 2017/08/05(土) 17:13:25.94 ID:???.net (+62,+29,-74)
単にjQuery使うなって言いたいだけだろw
もしくは今からjQueryを使わずに問題を解いてやろうとした所で
あっさりとjQueryのhas使ってシンプルに回答されちゃったんで
悔しいとかだろうな
430 : Name_Not - 2017/08/06(日) 01:47:06.39 ID:???.net (+62,+29,-69)
要するに質問者のプログラムに対する姿勢が気に食わないから謝れって事だろ

A 「GIMPで遠近の違う写真を合成したいんだがどうやるの?」

B 「は?そもそもGIMPなんかフリーソフトで安易に解決しようとする姿勢が気に食わない。
ちゃんと金払ってphotoshopCC使ってやれ」
(↑実はGIMP苦手だったりする)
431 : Name_Not - 2017/08/06(日) 05:32:21.81 ID:???.net (+166,+30,-94)
ぜんぜん違う
どうして書いてもないことをそう捻くれた妄想できるのか不思議
>>426とかも的外れ
頼りすぎてるとは、自分で考えてコードを書けないということを言っているのよ
セレクタでちょっと困るたびにここに聞きに来るのかと
セレクタや$()が何でも解決して「くれる」と思ってるだろと
解決するのは、「君」だ、そして手段を優先して目的を犠牲にするなというようなことを言っているのよ
432 : Name_Not - 2017/08/06(日) 05:34:36.95 ID:???.net (+57,+29,-10)
簡単にまとめるとこうかな
「書いても、書かされるな」
そゆこと
433 : Name_Not - 2017/08/06(日) 05:40:09.61 ID:???.net (+97,+30,-98)
念のため言うけど質問者にだけ言ってるわけじゃないよ
むしろそういう受け身な姿勢にさせる自立を阻害するような状況を作り出した
回答の流れも含めて丸っと気に食わないと批判してる

具体的な回答がどうこうというよりも、問題提起と回答までの流れに
ちょっと良くないだろうという文句を言ってる
俺の考え伝わった?
434 : Name_Not - 2017/08/06(日) 09:39:14.66 ID:???.net (+77,+29,-23)
>>433
微塵もわからん
>>403は本来どういう質問が良くて、それに対する回答はどうすれば良かったんだ

セレクタ一つでアホみたいに悩むより聞いた方が早いだろとは思うんだが
435 : Name_Not - 2017/08/06(日) 11:01:08.29 ID:???.net (+52,+19,-17)
>>427
単なる利用率なら公開しているサイトがあるよ
436 : Name_Not - 2017/08/06(日) 12:45:08.52 ID:???.net (+39,-1,-21)
>>431
> セレクタや$()が何でも解決して「くれる」と思ってるだろと

まあ実際CSS4で解決してくれるわけですが?
437 : Name_Not - 2017/08/06(日) 14:05:13.65 ID:???.net (+36,-17,-2)
CSS4は存在しないわけだが
438 : Name_Not - 2017/08/06(日) 14:25:59.57 ID:???.net (+57,+29,+0)
>>437
そういう話はしてない
439 : Name_Not - 2017/08/06(日) 14:56:21.16 ID:???.net (+43,+25,-1)
作ればあるし!
440 : Name_Not - 2017/08/06(日) 14:58:30.54 ID:???.net (+57,+29,-38)
セレクタが解決できる問題にたいして
セレクタでやる方法を教えてくださいというのが
何が問題なのか?
441 : Name_Not - 2017/08/06(日) 19:42:18.95 ID:???.net (+116,+29,-72)
>>431
疑似要素セレクタで複数同時に指定する方法(手段)を聞きたかったわけで

そもそもの問題を解決したいだけならjavascriptでもphp側でもできますし、
それこそどうして質問者がjQuery以外では書けないと妄想して断定しているんですか?
442 : Name_Not - 2017/08/10(木) 00:03:10.52 ID:???.net (+115,+30,-143)
>>441
それは言葉の綾で現実の質問者が実際にそうだと断定しているわけではない
質問者が悪いとも悪くないとも言わない
回答者が悪いとも悪くないとも言わない
でもこの質問からのこの解決までの流れはまるでそういうことを認めるようで悪いと言ってる
つまり展開が好ましくないと言ってる
具体的な回答や質問の1つ1つにケチを付ける気はないし、ましてはそれを書いた人を批判する気もない
443 : Name_Not - 2017/08/10(木) 02:48:22.49 ID:???.net (+87,+29,-59)
>>442
展開おかしいですか?
>>403の最初の質問で1行目から
"セレクタの指定方法について質問です。"って書いたんだけどな。

疑似要素セレクタで複数同時に指定する方法を聞きたかったわけで。
そもそも生js自体も所詮は手段の1つでしかないし、
手段について質問回答するスレかと思っていたが違うのか。
444 : Name_Not - 2017/08/11(金) 07:16:59.30 ID:???.net (+24,+17,-16)
http://hayabusa9.2ch.net/test/read.cgi/news/1502363411/1

jQueryって儲からないんだな。
445 : Name_Not - 2017/08/11(金) 09:24:42.16 ID:???.net (+57,+29,-18)
そうやって関係ない話題にjQuery絡ませてくるから
ガキだって言うんだよ
446 : Name_Not - 2017/08/11(金) 22:15:05.79 ID:???.net (+121,+30,-134)
>>431
>頼りすぎてるとは、自分で考えてコードを書けないということを言っているのよ

これね、若いねぇ
中途半端にかじっちゃった状態の人って必ず一度は言うんだよなw
それ言い出すと、どこまで突き詰めんのかって話になる訳よ
「自分で考えてマシン語コードで書けよ」とか「いやいや、マイクロコードからだろ」とかね
お前らは生産性が低いんだよw

すでに確立され実績のあるものは積極的に使うべきで
その上にどう付加価値を付けていくのかが重要なんだよ
447 : Name_Not - 2017/08/12(土) 02:43:02.07 ID:???.net (+61,+29,-28)
>>444
オープンソースは下級言語として扱われてるしな。
さらにjQは誰でも使えるように簡単に書けるようにしてあるんだから不思議なことではない。
448 : Name_Not - 2017/08/12(土) 15:03:36.66 ID:???.net (+57,+29,-42)
新しい物をチャらいと言って否定するアナログおっさんより
スマホでもyoutubeでも新しい文化をも受け入れて使いこなすおっさん
スタンスは自由だが、生物として優れているのは後者ではないだろうか
449 : Name_Not - 2017/08/12(土) 22:31:16.67 ID:???.net (+52,+29,+0)
生物の話はしてない
450 : Name_Not - 2017/08/12(土) 23:37:41.03 ID:???.net (+57,+29,-42)
古いとか新しいじゃなくて適切なものを適切に使うのが優れてるって
最初から使わないが結論の人はだめ
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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