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

    私的良スレ書庫

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

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

    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
    201 : 194 - 2016/03/04(金) 22:08:45.28 ID:???.net (+36,-29,-38)
    >>195
    うお、ありがとうございます。
    remove();早いですね。
    ただ、比較したいのはjsではなくcssのdisplay:none;なんす
    202 : Name_Not - 2016/03/04(金) 23:12:54.37 ID:???.net (+72,+29,-2)
    >>200
    うお!?調べてみます!ありがとさん
    203 : Name_Not - 2016/03/05(土) 05:58:17.18 ID:???.net (+140,+29,-104)
    >>201
    本当にDOMに残るのが気持ち悪いのかを考えたほうがいいよ。

    単に見えてないのにDOM上は存在する。ということに対して
    気持ち悪いと言ってるならそれは間違い。


    現在のURLに対して、そのDOMの内容をCSSを無効にして表示して
    意味的におかしくなるか?で考えたほうがいい。

    デザイン的には見えなくしたいんだけど、
    別に表示されていてもおかしくないんじゃね?と
    思うならば非表示にするだけでいいだろう。
    204 : 194 - 2016/03/08(火) 21:37:13.63 ID:???.net (+104,+21,-36)
    >>203
    むむ、
    CSS無効だと意味的におかしいです。
    内容重複表示になります。

    てことは、jsでremove()ってことですね?

    しかし実際はcss無効よりjsを無効にされることの方が多いような。。(そういう事ではないか)
    205 : 194 - 2016/03/08(火) 21:52:52.47 ID:???.net (+3,-30,-70)
    ちなみに実際はこんなケースでした。
    システムで出力されたデータがあり、
    データA
    1a
    2b
    3b
    4a
    5a
    6b
    7a
    8a


    200b

    aのみを抽出して場所1に表示、bは場所2に表示(場所1と2の間には別の出力ソースがある)
    データAは何度も出力できるが、aとbの出力分けはできない仕様。
    206 : Name_Not - 2016/03/08(火) 22:26:47.67 ID:???.net (+34,+11,-2)
    まったくわからんw
    207 : Name_Not - 2016/03/09(水) 01:34:04.11 ID:???.net (+57,+29,-32)
    本当にパフォーマンスを気にするならCanvasで表現することを考えたほうが良い。
    208 : Name_Not - 2016/03/09(水) 08:29:39.64 ID:???.net (+82,+29,-71)
    >>204
    >>203 は css を前提にしないページの話。
    そうでない場合は判断基準として妥当ではない。
    例えば同じコンテンツの複数のバージョンを動的に切り替えたい時に毎回サーバから取ってこないといけない事になる。
    取ってきた方が良い時もあるけどケースバイケース。
    209 : Name_Not - 2016/03/09(水) 09:15:21.31 ID:???.net (+57,+29,-6)
    毎回とってこなくても、キャッシュに入れておけばいいと思うが?
    210 : Name_Not - 2016/03/09(水) 09:43:17.49 ID:???.net (-1,-29,-67)
    1. jQuery.remove()で特定要素を削除する
    2. CSSで特定要素を不可視にする

    どちらの方がパフォーマンスが良いのか?
    という質問だろ
    211 : Name_Not - 2016/03/09(水) 23:09:34.12 ID:???.net (+57,+29,-42)
    CSSで一々、存在する要素を見えないようにしていたら、
    メンテナンスできなくなる

    DOMと見えるものが不一致状態で、開発することは無理。
    そんなものを一々、管理していられない
    212 : Name_Not - 2016/03/10(木) 01:18:11.84 ID:???.net (+7,-30,-136)
    ときと場合によるとは思うけど
    一般的に↓の(B)みたいにkansu2を参照できる範囲を関数内関数を使って必要最低限に限定するのは
    good practice? bad practice?

    //(A)
    $(function() {
    function kansu1() {
    $('#div').click(kansu2);
    ....
    }
    function kansu2() {....}
    });

    //(B)
    $(function() {
    function kansu1() {
    $('#div').click(kansu2);
    ....
    function kansu2() {....}
    }
    });
    213 : Name_Not - 2016/03/10(木) 08:46:22.67 ID:???.net (-1,-29,-41)
    >>212
    Bは同スコープ内のローカル変数がkansuu2で参照を保持し続けるが、AはGCで解放される
    214 : Name_Not - 2016/03/10(木) 09:54:50.41 ID:???.net (+57,+29,-16)
    クロージャの弊害があるから一般的には関数の入れ子はしないほうがいいと理解していい?
    215 : Name_Not - 2016/03/10(木) 10:33:48.31 ID:???.net (+3,-30,-44)
    $(function() {
    var kansu1 = function() {...},
    kansu2 = function() {...};
    //* 必要に応じて
    $('#div').click(fun.kansu2);
    });
    だろうけど
    216 : Name_Not - 2016/03/10(木) 10:35:18.01 ID:???.net (-2,-30,-65)
    $('#div').click(fun.kansu2); → $('#div').click(fkansu2);
    217 : Name_Not - 2016/03/11(金) 08:44:07.18 ID:???.net (+30,-30,-51)
    jQueryUIで例えば、
    $(function() {
    $( "#draggable" ).draggable();
    });
    みたいに設定してドラッガブルとして使ったあと、それを解除する方法はありますか?
    それ以降は動かせないようにしたいのです。
    218 : Name_Not - 2016/03/11(金) 09:35:40.72 ID:???.net (+49,+22,-1)
    >>217
    フラグを立てたら?
    219 : Name_Not - 2016/03/11(金) 13:45:49.65 ID:???.net (-1,-29,-9)
    220 : Name_Not - 2016/03/12(土) 17:36:11.04 ID:???.net (+4,-29,-25)
    jQuery/jsで良く使う(使える)小技教えてください。
    大小問いません。

    個人的には文字列置換をよく使います。
    221 : Name_Not - 2016/03/12(土) 17:40:31.19 ID:???.net (-6,-29,+0)
    幅広過ぎる(・ω・`)
    222 : Name_Not - 2016/03/12(土) 21:36:12.39 ID:???.net (-10,-28,-1)
    $とかよく使う
    223 : Name_Not - 2016/03/13(日) 00:27:01.31 ID:???.net (+3,-30,-47)
    >>220
    文字列置換は基本的なテクニックでないのか?
    そんなんでいいなら while, call, apply, bind, handleEvent, closure, bubbling ... いくらでもあるんだが
    224 : Name_Not - 2016/03/13(日) 08:42:02.16 ID:???.net (+55,+29,-71)
    jquery初心者です。
    jqueryとDom操作の違いがいまいち理解できません。
    調べれば調べるほど分からなくなってしいました。誰か、おバカさんに分かりやすく説明していただけないでしょうか。
    225 : Name_Not - 2016/03/13(日) 08:57:35.17 ID:???.net (+130,+29,-131)
    DOM操作・・・ブラウザが標準で持ってる機能
    手続き型風で条件分岐が多く冗長。

    jQuery・・・DOM操作を簡単に記述できるようにしたライブラリ
    関数型風で条件分岐も少なく短く書くことが出来る
    改良されている反面、速度が少し落ちるが、
    問題にならない程度の速度低下で、開発効率を上げることが出来るとも言える。
    226 : Name_Not - 2016/03/13(日) 15:18:46.22 ID:???.net (+70,+29,-1)
    >>225
    ありがとうございます。
    何となく、理解できたかもです
    227 : Name_Not - 2016/03/13(日) 19:35:08.07 ID:???.net (+109,+29,-55)
    >>225だけ読むとjQueryにはメリットしかないかのような評価だな
    jQueryには問題になるデメリットは全くないのか?
    228 : Name_Not - 2016/03/13(日) 19:57:13.06 ID:???.net (+45,+4,-5)
    >>227
    特に無いだろうな
    JavaScriptと併用で書けるし
    229 : Name_Not - 2016/03/13(日) 20:20:18.39 ID:???.net (+11,-29,-18)
    >>227
    デメリットならあるだろ。
    gzip圧縮時で34.5KBの転送量が必要になる。
    ただし初回アクセス時のみでgoogleのCDNなどを使うことも出来る。
    230 : Name_Not - 2016/03/13(日) 22:26:04.96 ID:???.net (+140,+29,-59)
    jQueryは要素ノード以外の操作が基本出来ないからDOM APIに慣れると歯がゆく感じる事が結構あるなー
    231 : Name_Not - 2016/03/13(日) 22:42:22.97 ID:???.net (+134,+29,-184)
    >>230
    テキストノードも触れる。
    ついでに言うとテキストノードに触ることはあまりない。

    jQueryはDOM APIとは発想が違うんだよ。
    jQueryはCSSと同じようなものと考えたほうがいい。

    処理を行うのではなくて、セレクタに対してどういう
    効果を与えるかという定義を記述する。
    なので、正しく使うとバグを大きく減らせる。
    232 : Name_Not - 2016/03/13(日) 22:53:05.02 ID:???.net (+94,+29,-19)
    > ついでに言うとテキストノードに触ることはあまりない。
    おまえの中ではそうなんだろうな
    233 : Name_Not - 2016/03/13(日) 22:56:06.75 ID:???.net (+82,+29,-117)
    >>232
    じゃあお前の中ではどうなんだ?
    どういうときに使うのか言ってみろ。

    念の為に言っておくけど、テキストノードをセレクタとして使用する話だからな。

    セレクタで引っ張ってきたノードの中のテキストデータを変更することは
    jQueryでも簡単にできる。その点に対してはDOM APIと全く変わりない。
    234 : Name_Not - 2016/03/13(日) 22:56:36.50 ID:???.net (+20,-30,-98)
    >>231
    > テキストノードも触れる。
    触れるってどういう風に?
    text()はテキストノードを上書きするだけでテキストノード自体を操作はしてなかったよね

    <p>a<span>b</span>c</p>

    "c"のテキストノードを参照を失わずに値だけ書き換えることが出来る?
    235 : Name_Not - 2016/03/13(日) 22:57:00.26 ID:???.net (+61,+29,-30)
    テキストノードに触ることってないだろ?
    大半はセレクタで対応できる
    というか、何やってんの?
    236 : Name_Not - 2016/03/13(日) 22:57:49.87 ID:???.net (+12,-24,-44)
    >>234
    > "c"のテキストノードを参照を失わずに値だけ書き換えることが出来る?

    同じことをDOM APIでやって見せて
    237 : Name_Not - 2016/03/13(日) 23:00:11.43 ID:???.net (+6,-29,-51)
    >>235
    http://js.studio-kingdom.com/jquery/traversing/contents
    テキストやHTMLコメントを含む子要素を取得します。

    .children()との違いは、テキストノード、コメントノードも対象とする点です。
    238 : Name_Not - 2016/03/13(日) 23:04:18.27 ID:???.net (+3,-29,-114)
    jQueryはテキストノードを触れないわけじゃなくて
    テキストノードに対するセレクタが存在しないだけ。
    触るだけならcontentsでできる。

    jQueryセレクタ = CSSセレクタであるため
    CSSセレクタにテキストノードへのマッチ機能が
    無いことによるCSSの制約
    239 : Name_Not - 2016/03/13(日) 23:05:47.28 ID:???.net (+50,-29,-138)
    >>233
    > 念の為に言っておくけど、テキストノードをセレクタとして使用する話だからな。
    セレクタで参照するのは要素ノードだけだろうにテキストノードを参照するのは具体的にどういうセレクタを書くつもりなんだ?

    > セレクタで引っ張ってきたノードの中のテキストデータを変更することは
    > jQueryでも簡単にできる。
    Selectors APIにテキストノードを参照する機能などない
    テキストノードを参照できるのはXPathぐらいだぞ
    240 : Name_Not - 2016/03/13(日) 23:09:23.71 ID:???.net (+11,-30,-62)
    >>236
    document.querySelector('p').lastChild.data = 'hoge';

    件の人はテキストノードを操作したことがないんじゃないかな
    jQueryにはdataプロパティ相当がないし、splitText,appendData...その他諸々もないよね
    241 : Name_Not - 2016/03/13(日) 23:09:23.78 ID:???.net (+69,+29,-55)
    >>239
    > セレクタで参照するのは要素ノードだけだろうにテキストノードを参照するのは具体的にどういうセレクタを書くつもりなんだ?

    俺に聞くな。

    俺は

    > ついでに言うとテキストノードに(セレクタとして)触ることはあまりない。

    って言ってるんだ。
    242 : Name_Not - 2016/03/13(日) 23:11:29.93 ID:???.net (+10,-30,-36)
    >>240
    > document.querySelector('p').lastChild.data = 'hoge';

    それ(セレクタとして使用しない)でいいなら、

    $('p').last()[0].data = 'hoge';

    これで十分だろw
    243 : Name_Not - 2016/03/13(日) 23:14:03.79 ID:???.net (+64,+29,-56)
    > ついでに言うとテキストノードに(セレクタとして)触ることはあまりない。
    セレクタでテキストノードに触れるといっているのと同義じゃね?
    244 : Name_Not - 2016/03/13(日) 23:14:52.18 ID:???.net (+57,+29,-9)
    何通りも方法はあるけど何を言いたいのかがよく解かんない
    245 : Name_Not - 2016/03/13(日) 23:18:11.25 ID:???.net (+42,-29,-146)
    >>243
    ぜんぜん違う。

    jQuery(DOMのquerySelectorでも同じ)は、CSSセレクタを使うのだから
    CSSセレクタにテキストノードへのセレクタがない以上どちらも
    CSSセレクタでノードの抽出はできない。

    そして取得した要素単体に対する操作はjQueryでもDOMでも同じように
    出来るのだから同じようにすればいいだけ。
    246 : Name_Not - 2016/03/13(日) 23:19:26.04 ID:???.net (+18,-30,-55)
    >>242
    > $('p').last()[0].data = 'hoge';
    いやあの、思いっきりDOM APIを使っておいてドヤ顔されても反応に困るんだけど...
    >>230からの反証の流れわかってる?
    247 : Name_Not - 2016/03/13(日) 23:21:31.86 ID:???.net (+56,+22,-25)
    >>245
    セレクタエンジンだけに限定して比較検証してるのはおまえだけだぞ
    APIレベルで比較しろ
    248 : Name_Not - 2016/03/13(日) 23:23:45.95 ID:???.net (+11,-30,-167)
    >>246
    あの? なんでDOM APIを使ったら駄目なんですか?

    jQueryはDOM APIにはない機能を追加するもので
    DOM APIを置き換えるものじゃないんですけど?

    例えば

    $(el).click(function() {
     $(this).hide() ← このthisはDOM要素なんですが?
    });
    249 : Name_Not - 2016/03/13(日) 23:30:30.61 ID:???.net (+4,-29,-183)
    >>248
    jQueryのデメリットが論点だったのでは?
    この流れであなたの返答は流れに反していると思うのですが

    jQueryはテキストノードを操作出来ない⇒jQueryでもテキストノードを触れる⇒どうやって?⇒dataプロパティ⇒DOM APIでは?⇒なぜDOM APIを使ってはダメなんですか?
    250 : Name_Not - 2016/03/13(日) 23:41:26.23 ID:???.net (+57,+29,-52)
    「jQueryでも簡単にできる」と豪語しておいて、相手のコードにあったdataプロパティを流用しただけのお粗末な返答が返ってくるというね
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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