+ JavaScript の質問用スレッド vol.123 + [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
+ JavaScript の質問用スレッド vol.122 +(c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1420095379/
(ライブラリ禁止条項は、多数の意見によって廃止されました。ライブラリの質問もOKです) またjQuery厨が暴れて生温かい視線を浴びてるのか。 >>690
論点がずれてるのはあんた。
オーバーライドは問題にならないという話はもう上でしただろ。
想像力がないのか?
もし万が一新しいメソッドがArrayやElementsに追加され、
それがサブクラスと被ったら、ライブラリをバージョンアップすればいいだけ。
サブクラスは元クラスのプロトタイプ拡張と違って、明示的に使ってない周りへ影響を与えないし、
環境が新しくなっても、古いバージョンのライブラリに依存してる古いコードが壊れることもない。
それと、queryAllがサブクラスを返したりすることはやらないと言ってるでしょ。
一度ラップしてやれば、例えばmapなんかはArrayではなくきちんとサブクラスのインスタンスを返してくれるように
ES6では設計されているので、何度もラップしたりすることなくチェーンできる。 細かくconsole.log()したいから無意味にチェーンしないさせない。
似て非なる物だが最近は右辺をカンマで長々しく区切るコードを少なからず目にする。
他人にはテストし難くてやや理解困難だから引き継ぐ時には丸ごと捨てられてやり直されるのだろうな。 >>661が言ってるようにチェーンという選択肢は間違いではないと思う
但し非同期も同期もあらゆる処理をチェーンで書くメソッドが不足してる
JSの表現力からしたら可能だけど、世界が追いついてない
Observableとそれと共に現れるであろうフレームワークにはかなり期待してる >>693
> オーバーライドは問題にならないという話はもう上でしただろ。
それに対するレスを>>690で書いただろ
ホントお前人の話し聞かないなw 将来のES6ではできるようになるんだ!と
言った所で今は使えないわけで、
将来は!将来は!って繰り返し言ってもなぁ
あと10年後にまたおいで。 >>694
> 細かくconsole.log()したいから無意味にチェーンしないさせない。
もしかしてチェーンしたらconsole.logできないと思ってる?
そのための有名なメソッドがtapなんだけど。
残念ながらjQueryでは標準対応してないから、
たった4行だけ書かないといけないけど
$.fn.tap = function (callback) {
callback.apply(this);
return this;
};
これであっという間に、console.logができる。
function log() {
console.log(this);
}
$('#id').children().tap(log).children() >>697
ElementsがElementのメソットを使えるようにするにはどうするのがいいかの話をしているんだろ。
ElementsはES6前提だし、今更何言ってるの?
もう知らないのなら無理に話に入ってこなくていいから。
勉強して出なおしてね。 ElementsがElementのメソットを使えるようにするにはどうするのがいいか?
全部再実装するんだろ?
で、あとからその実装したメソッドと同じ名前で
新たに標準追加されて大混乱w
既に過去に起きた事件だ Elementsに追加するわけじゃないなら混乱は起こらないでしょ。
そのElementsのサブクラスを使ってる部分だけで閉じてるんだから。
新規で使う上で気になるのならライブラリを更新すればいいだけだし、
古い物に依存してる場合も問題は起きない。 え? 自分が言ったこと忘れたのか?
全てのDOM APIが、Elementsの代わりに
Elementsのサブクラスを返すようにするって
言ったばかりじゃんかw 誰がそんなこと言ってるんだろう?
>>678が見えないのかな? まあ実際問題サブクラス経由のqueryAllがきちんとサブクラスのインスタンスを返してくれるようになるかは分からないけどな
Arrayとかネイティブの奴はES6できちんと継承が考慮がされた設計にされたけど
DOMの継承を利用した奴はこれから実装される段階だしおそらくissueになると思う
まあ例えElementsのままでもサブクラス側では機能を実装する必要はなくて
queryAll{return new SubClass(super.queryAll())}みたいなのでいいだろうし
全てのメソッドをオーバーライドするのが面倒臭ければそれこそProxyをプロトタイプに挟めばいいか
なんにせよこれは重大な問題提起だと思うね jQueryの質問です。
jQueryオブジェクトをコンソールで見ると配列形式で表示されますが、これはどのようにしているのでしょうか?
http://i.imgur.com/lX94ne4.png
> $("body")
> [ <body></body>] ←これのことです
配列という訳でもないみたいですし…なにか条件があるのでしょうか? >>706
すみません説明不足でした。
配列というのはArrayのインスタンスという意味です。
Array.isArray($("body")) が false であることから分かるように、Arrayのインスタンスではありません。
Arrayのインスタンスでもないのに、なぜ配列形式で表示されるのか?という疑問です。
そしてその方法を使って、自分で定義したArrayのインスタンスでないオブジェクトにも同様のことをしたいと思っています。 >>707
「配列のようなオブジェクト」で検索してみたら、こんな感じだった
{
"0": "0番目の内容",
"1": "1番目の内容",
"length": 2
} >>704
結局それ、jQueryの実装そのものじゃないかw >>710
結論はそれかもしれないけど、各ブラウザのデバッグ機能は
jQueryに対して特別な対応をしていたはず。
NightlyのFirefoxではDOM要素にどんなjQueryイベントが紐付いているか見ることができる!
http://blog.mah-lab.com/2014/08/30/nightly-firefox-dev-tool/
http://www.buildinsider.net/web/chromedevtools/01
> ConsoleパネルからはDOM操作でページを直接編集できる。documentオブジェクトなどの
> 基本的なJavaScript機能を操作できるだけでなく、jQuery構文も利用できるようになっている。 >>712
ありがとうございます!
ブラウザ自体がjQueryに対して特別な配慮をしてるんですね。
spliceの件もその配慮の一環なんですかね。
ただGoogleChromeの方は、ただ単にページにjQueryが使われているから使えるだけなのでは…? >>713
about:blankでも表示される。
そしてページにjQueryが使われているのであれば
$.fn.jqueryでjQueryのバージョンが表示されるが
それがない。 >>714
あれ、そうなんですか?
すくなくとも手元のGC41のabout:blankではjQuery方式の書き方はできませんでした。
なにかフラグとか必要なのでしょうか?
$("body") === document.body; // true
$("body").text("hoge"); // Uncaught TypeError: string is not a function こいつさっきから何を言ってるんだ???
ただコンソールにおいて$がdocument.querySelectorAll相当になってるだけじゃん
それ以上でも以下でもない $ はこれ
https://developer.chrome.com/devtools/docs/commandline-api#selector
Build Insiderのような非公式サイトを参考にするから間違いが起きる
あと、こんな荒らしが立てたスレで質問するよりライブラリ総合質問スレで質問した方が有用だと思うけどね
自分もほとんどここ見てないし >>718
やはりそうですよね。
記憶違いかと焦りました。
ありがとうございます! だからすぐに訂正してあるじゃん?
715 自分:Name_Not_Found[sage] 投稿日:2015/04/13(月) 23:04:47.09 ID:???
jQueryじゃなくて、$が使えるだけかも^^ ここは回答者が認められるスレではない
質問者を助けるスレだ
思い上がらないように >>720
かも、とか可能性レベルの話で回答する前にちゃんと確認しろよ
Aかもしれないし、Bかもしれないなんて回答にならん もうそういうのいいから
このスレには質問と回答しかいらない いや宗教論争は必要。
ツーチャンネルの技術板の価値は宗教論争だけ。
他の場所で宗教論争なんて本質に突っ込む議論を始めたら単なるキチガイだから。 >>723
回答になってないから指摘されてるんだろ 指摘される事が嫌ならキータに日報だか月報だかにしか見えない剽窃猿真似技術ブログでも書いて裸の王様やっとけよ雑魚が。 はい現行スレ
+ JavaScript の質問用スレッド vol.124 + [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1429873274/l50 var small_option=0;
if(document.chbox3 && document.chbox3.elements[0]){
small_option = document.chbox3.elements[0].checked ? 1 : 0;
}
って書いてますが、この場合、存在チェックって、
document.chbox3 && document.chbox3.elements[0]でよろしいでしょうか?
何かいい手がありますでしょうか? >>735
document.chbox3 && document.chbox3.elements && document.chbox3.elements[0] >>735
jQuery使っていいのなら
var small_option = $('[name="chbox3"]').prop('checked') ? 1 : 0;
(「? 1 : 0 」はいらん気もするが)
要素がなければundefinedになってくれる。
0個以上の要素として扱うと、こういう風にシンプルに書くことが出来る。 >>736-737
ありがとうございます。
small_optionはajaxで、php側に投げるデータで、php側でpostで受け取り、
1か0でないなら「small_optionが不正」ってエラーメッセージを出す仕様なので、
undefinedだとまずいです。 じゃあ仕方ないね。? 1 : 0は必要ということで。 と思ったけど、これでいいのか
var small_option = $('[name="chbox3"]').prop('checked') || 0;
もしくはこれ。(checkboxのvalueの1が設定されている前提)
var small_option = $('[name="chbox3"]').val() || 0; 話がそれた。
存在チェックの話だったね。
jQueryを使えば存在チェックそのものが不要になる。ということで。 jQueryみたいなライブラリ勧める上で決してお手軽ではないことは注意として挙げるべき
一部分だけjQueryのセレクタ使ってるようなコードに違和感がないならいいが ていうか、戻り値の型が場合によって違うのに平気とか、もうね、jQuery厨のショボさハンパないな。 > 戻り値の型が場合によって違うの
え? どこが??? prop('checked')はcheckしてないならundefを返す仕様のようですが、
jQueryって存在しないchbox3に対して
$('[name="chbox3"]').〜ってやっていいのでしょうか? >>745
問題ないように作られている。
NULLオブジェクトパターンとでも言えばいいかな?
コレクションだから少し違う気もするが、要素がなくても(NULLでも)
何も効果がないだけでコードは動くように作れる。
jQueryを使ったプログラミングでは「要素があるか?」という
条件文をなくすことが出来る。(これはNULLオブジェクトパターンの特徴でもある)
> $('[name="chbox3"]')
これだと分かりにくいかもしれないからちょっと変えて、
$(':checkbox ').prop('checked', true) を実行すると
すべてのチェックボックスのチェックをONにする。
言い換えると、0個以上のチェックボックスをONにする。
0個以上なので、0個の場合でもOK
反対にこれは、$(':checkbox ').prop('checked')見つかったようその内
最初の要素のcheckedを取得する。見つからなければundefined。
そのように作られている。 https://www.visualstudio.com/en-us/products/code-vs.aspx
これでJS書いてる人はいますか?
sublimeの未登録アラートがうざいので乗り換えもありかと思ってます
どうですか? jqueryって仕様が変わるたびに、jquery使用箇所を書き直す必要があるので
基本的にJavascriptで書いてますが、皆さんjQuery等って使ってますか? jQueryを使うこともある
使うときは基本的にバージョン固定にするよ >>748
jQueryの欠陥を指摘させて、吐く毒に紛れて見え隠れする次世代のアイデアをパクろうとしてないか?w
ソース読んでみたら?マズイ所ばかりでウンザリさせられるよ。 >>740
> jqueryって仕様が変わるたびに
JavaScriptだって仕様が変わるたびに、見直し必要だろうw
もちろん滅多に仕様は変わらないが。あ、jQueryの話しね。 >>748
> 皆さんjQuery等って使ってますか?
それに関してなら、どれくらい使われているかのデータが有る
http://w3techs.com/
JavaScript Libraries
Most popular JavaScript libraries
1. JQuery 63.8% +0.7% 95.1% +0.1%
2. Modernizr 8.1% +0.2% 12.1% +0.3%
3. Bootstrap 7.2% +0.4% 10.8% +0.5%
4. MooTools 4.1% -0.1% 6.1% -0.2%
5. Prototype 2.3% 3.5%
63.8%の人が使ってる一番使われているライブラリだそうだ。 やっぱり皆使ってるんですね。ありがとうございました。 jQueryなんか使いまくるからスマホが激熱になって、毎日のように落ちる。
閲覧者サイドで一番便利なスマホページとは、スクリプトを使っていないページ。まさに10年以上前のPCページと相似な状況。 Javascript Good partsをボロボロになるまで勉強しました。
http://demon-uploader.rosepink.us/small.html?img=2015050308253711382.JPG
jQuery使わないとキツイとこはライブラリ使ってますが、
idクリックして関数実行とかはjQueryなしで実装できるので、使ってません。
Ajaxでphpにデータ送るとかは、ブラウザ毎の対策が面倒なのでjQuery使ってます。 >>754
なにいってるんだ?
JavaScriptが動いてないところでは
jQuery使っていたって関係ねーよ。 激熱になっただけで落ちるっていうのも意味不明だな。
まあ素人さんが嘘をついたらこうなるという実例w コンピュータにでたらめにキー入力したら
爆発するという映像表現を信じているとか? Ajaxはajax()ではなくfetch()のポリフィルを使っていこうぜ インターネットのネットワークリソースが枯渇する
みたいなニュースが最近あったので
ニュー速あたりで謎知識を聞きかじってしまったのではないかと 普段はbootcampでwinを使っているのですが
winがおかしくなったのでosxで作業してます
chromeの場合は同じアプリがosxでも使えるのでありがたいですが
tweetdeckが、winと比べるとクッソ重いことに気づきました
jsの実行速度はOSによってかなり違うのでしょうか? 糞アポ〜の標準アプリであるサファリを負かす事は許されないルール。だからgoogle chromeはosx用だけ嫌味のように遅い。 普通に
func();
で実行するのと
function(){func();};
で実行するのと何が違うんですか? Amazonのカートに保存する、戻すとか
リアルタイムに更新されるのはJavaScriptですか?
ああいったものを使いたいのですが難しいですか? 使いたいの?
Amazonを使うだけなら、JavaScriptの知識は無用だよ。 >>766
簡単だよ。
JavaScriptを普通に使えるプログラマなら簡単 本スレ
+ JavaScript の質問用スレッド vol.125 + [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1436910657/ マウスホイールを使ったスクロールの向きって変更できるん?(´・ω・`) 現行スレ
+ JavaScript の質問用スレッド vol.125 + [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1436910657/ 別スレより誘導されてきました
お願いします
スクロールしてもヘッダ(とcaption)は固定表示のtableを作りたいのですが、
・tableのwidthはパーセント指定
・theadのセルはwidth指定無し(可変)
・border-collapse: collapse
この条件だと、色々なチュートリアルサイトの方法やjQueryプラグイン等を試してもどうもレイアウトが崩れてしまいます
どうかアドバイスいただきたいです
お願いします! >>774について
申し訳ありません、現行スレに書き込みます .
.
板違い(?)の上に、話をさえぎってしまいゴメンナサイ!(*_ _)人
でも、この板のユーザーさんにも有意義な告知かと思うのでカキコませてください。
★ 謝礼は十分いたします ★ アメブロなどのサイト制作ができる方!!
アメブロなどを使用してのサイト制作のできる方を早急に求めています!
私はリケジョやPC女子からはほど遠く、サイト作成にはまったく疎いのでとても不自由しています…(> <;)
そこで私に代わりサイトを作成してくださる方を求めてこの場をお借りしました。
■サイトの内容…
アダルト系、違法性、その他公序良俗に反するものではありませんのでご安心ください。
■サイト制作の仕様ベース…
アメーバブログで十分です。願わくばwordpressなどのブログ形式のサイトを希望します。
それに準ずるもので使い慣れたものがあれば別のものでも構いません。
■条件はありません…
技術さえお持ちでしたら、学歴・職歴等は一切問いません。
フリーター、ニート、高齢ニート、コミュニケーション障害をお持ちの方、引きこもりの方、中年失業者、長期無職等、歓迎!
■作業形態…
作業は在宅でやって頂くことになりますので、時間の指定は一切ありません。別のお仕事の傍らに…でもOKです。
■詳細をお知りになりたい方は…
下記メールアドレスまでご連絡ください。詳しく書いた返信文を差し上げます。
※真剣な告知です。冷やかしはご遠慮ください。
井 上
inoue1952w★gmail.com
迷惑メール対策のため@部分を★にしてあります。
実際に送信する際には★を@マークに変えてください。
.
. <SCRIPT Language="JavaScript">
<!--
function show_hide(id) {
disp = document.all(id).style.display;
if(disp == "block")
document.all(id).style.display = "none";
else
document.all(id).style.display = "block";
}
//-->
</SCRIPT>
クリックすると隠れていた文字列が表示されるスクリプトですが、
パカッと表示されるのではなく、スルッと表示されるようにできませんか? このスレは使われていないので、以下のスレへ書き込んで
+ JavaScript の質問用スレッド vol.129 +
http://echo.2ch.net/test/read.cgi/hp/1456250334/l50 質問
よくあるhoverのmouseoutで子孫要素は無視するやーつの関連なんですが
<div>
<input type="text">
</div>
<div>には十分なpaddingがあるとして
<input>をダブルクリックとかしたときに出るブラウザUIの入力補完サジェストに
マウスを乗せると<div>でmouseoutイベントが発火するのだけれど
これを検知して除外するにはどうしたら良いでしょうか?
event.relatedTargetはnullでした
jQueryのhover()メソッドではmouseout扱いでした HPで友達が稼げるようになった情報とか
⇒ http://asaswq3wq.sblo.jp/article/181819223.html
興味がある人だけ見てください。
HVY0TJD7SU 誰でもできる在宅ワーク儲かる方法
少しでも多くの方の役に立ちたいです
グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』
D13NS 関数構造で質問です。
【環境】IE9以上、他最新で動けば可。
【エラー】なし。
【期待する結果】結果は現状通り。コードの整理。
【サンプルコード】下記。
fanc-中1(){
fanc-中1の処理
fanc-下1(); fanc-下2(); fanc-下3();
}
fanc-中2(){
fanc-中2の処理
fanc-下1(); fanc-下2();
}
fanc-上(){
fanc-中1(); fanc-中2();
}
で結果は正常ですが下1と2が2回呼ばれてしまいます。
下は再描画など処理後の後処理なので最後に各1回実行すればいいものです。 fanc-上(){
fanc-中1(); fanc-中2();
fanc-下1(); fanc-下2(); fanc-下3();
}
としたいのですが、すると中用にもう1つづつfuncが必要になります。
fanc-中1(){
fanc-中1の処理
}
fanc-中2(){
fanc-中2の処理
}
fanc-中3(){
fanc-中1();
fanc-下1(); fanc-下2(); fanc-下3();
}
fanc-中4(){
fanc-中2();
fanc-下1(); fanc-下2();
}
これでもいいのですが、もっとスマートな書き方があれば
教えてください。
部分適用やカリー化の記事を見ましたが今ひとつ理解しきれません(そもそも関係ない?)。
よろしく願いします。 ■ このスレッドは過去ログ倉庫に格納されています