タグ

ブックマーク / ofk.hatenadiary.org (4)

  • jQueryを少し便利にする5つの関数 - ?D of K

    jQueryはよく使うのだけど、ちょっとだけ不便なときがあったので、それに対応する関数を書いてみた。 クラスを生成する var Class = $.klass({ init: function (a) { this.a = a; }, view: function () { alert(this.a) } }); initがコンストラクタとして機能します。 $.klass=function(a){var b=function(){this.init&&this.init.apply(this,arguments)};b.prototype=a;return b}; CSSルールの追加削除 var index = $.css.add("body{background:red;}"); alert("stop"); $.css.remove(index); あると便利なときがあるので一応。 $

    jQueryを少し便利にする5つの関数 - ?D of K
    asiamoth
    asiamoth 2009/07/19
    Cookie って jQuery 標準で対応していなかったのか。意外だな。こういった便利なスクリプトが書けるようになりたい!
  • jQueryやPrototype.jsのセレクタ関数の動作速度を二倍にするライブラリを作りました - ?D of K

    と言っても、前々から作っているセレクタ関数が依存無しで簡単に切り出せそうだったから、切り出しただけです。 http://kquery.if.land.to/ksk.js 動作ブラウザはIE5.5以上です。これを導入するとIE5でも動作します。 使い方 ksk("div"); // divタグを取得します ksk("p", document.body); // body要素以下のpタグを取得します ksk("a", document.getElementsByTagName("p")); // p要素以下のaタグを全て取得しますセレクタはCSS3のやつを大体実装しています。最大の特徴は複数の要素以下の探索に対応していることです。kQueryが実際に完成したら、$(selector).find(selector)とかは高速かつ正確に処理できる予定です。 既知のバグとか 親要素のチェックが甘いで

    jQueryやPrototype.jsのセレクタ関数の動作速度を二倍にするライブラリを作りました - ?D of K
    asiamoth
    asiamoth 2009/01/13
    ofk さんは とんでもないものを作ってしまったようです。/ 本当、CSS セレクタ最強チームの日本人があと 1 人いたら、世界制覇できそう。
  • jQueryの$("E F")と$("E").find("F")は等価じゃない - ?D of K

    ちょっと前にはまったから、メモメモ。 jQueryは重複する要素のマージをそこまでまじめに行わない。まぁ、マージするということは要素サイズ回のループを行うわけで速度のためには仕方ない。そんなわけで、"E F"をパースするときはタグをマージしつつやるが、$("E").find("F")はgetElementsByTagName("E")の集合を親要素にgetElementsByTagName("F")やったやつを単純にpushするので、重複がたくさん発生する危険性がある。順々にアニメーションさせるときなどは気をつけなければならない。ただ、重複一杯の後者の方が$.dateを要素数分呼び出したりしないので、大抵速い。 精度 正:$("E F")>$("E").find("F"):誤 速度 遅:$("E F")<$("E").find("F"):速 一方、$("E>F")と$("E").find(

    jQueryの$("E F")と$("E").find("F")は等価じゃない - ?D of K
    asiamoth
    asiamoth 2008/10/15
    find の使い所には、注意が必要か。自分でも検証してみなきゃな。
  • Prototype.jsでクラス指定するとき、二倍速くする方法 - ?D of K

    $$(".warning"); // ↓ $$("*.warning"); // なぜか二倍ぐらい速い セレクターの特徴を掴むためにベンチにかけているんだけど、色々やってもこうなる。 正確なベンチやった人とか、Prototype.jsに詳しい人、教えて下さい。

    Prototype.jsでクラス指定するとき、二倍速くする方法 - ?D of K
    asiamoth
    asiamoth 2008/09/10
    「*」の 1 文字だけで速くなるとのこと。jQuery ではどうなんだろう?
  • 1