タグ

jqueryとjavascriptに関するkitsのブックマーク (34)

  • jQueryのfind()を利用した高速化

    jQueryのfind()を利用した高速化 最近、jQueryのfind()のちょっとよろしくない使い方をチラホラと見かけるのでfind()の高速化について解説をします。 アンチパターン 最近、見かけたパターンとしては以下の様なものがあります。 $('.foo #bar') このセレクタをfind()を使って高速化する為に以下のように書きなおす。 $('.foo').find('#bar') というもの。これは、ケースによっては高速化が見込めるものの、多くのケースでは低速化されてしまいます。 また、以下の様なパターンも見かけました。 var $ul = $('ul'), $a = $ul.find('.a'), $b = $ul.find('.b'); $a.css('color', 'red'); $b.css('color', 'green').text('Hello'); こちらも、

    jQueryのfind()を利用した高速化
    kits
    kits 2014/01/07
    セレクタだけ書く方が分かり易いし、それで速くなるのが最善と思う。
  • Re:美しいプログラムを書く(業務用Webアプリケーション保守編)

    Re:美しいプログラムを書く(業務用Webアプリケーション保守編) ネタ元:美しいプログラムを書く(業務用Webアプリケーション保守編) 僕だったらこう書くかな。 $(function(){ //set obj var newInput = $("input[name='new_version']"); var oldInput = $("input[name='old_version']"); //init newInput.eq(0).attr('checked','checked'); oldInput.eq(0).attr('checked','checked'); //set event newInput.change(function () { var index = newInput.index(this); oldInput.eq(index).attr('checked'

    Re:美しいプログラムを書く(業務用Webアプリケーション保守編)
    kits
    kits 2012/07/17
    予め対応付けを済ませるパターン(元記事) vs ボタンが押されてから探すパターン(本記事)
  • 美しいプログラムを書く(業務用Webアプリケーション保守編) | Webシステム開発/教育ソリューションのタイムインターメディア

    あらすじ あなたはとある業務用 Web アプリケーションの開発・保守を任されています。 このアプリケーションは ASP.NET を用いて作成されており、 クライアントサイドは一部 jQuery を利用してナウなヤングにバカウケの UI を実装しています。 さて、今回は 商品情報の変更履歴を一覧表示する。一覧から2つのバージョンを選んで差分を表示できるようにする。 という機能を実装することになりました。 これ自体はちゃちゃっと実装し、以下のようなHTMLが生成されるようにしました: ... <table> <tr> <th>A</th> <th>B</th> <th>変更日時</th> <th>変更者</th> </tr> <tr> <td><input type="radio" name="new_version" value="9"/></td> <td></td> <td>2012-0

    美しいプログラムを書く(業務用Webアプリケーション保守編) | Webシステム開発/教育ソリューションのタイムインターメディア
    kits
    kits 2012/07/16
    最後は $new_versions.change(...) にできる。
  • jQuery言語入門 : tech.kayac.com - KAYAC engineers' blog

    先月の社員PVランキングは91番目でした。agoです。 たまに他言語開発者から「JSは何となくわかるけど、jQueryが特殊すぎてよくわからない」という声を聞きます。 個人的にjQueryを使う場合、「JSの中でjQueryを使う」と言うより、「jQueryの中でJSを使う」と考えた方が理解しやすいと思うので、今日は"jQuery言語"の書き方を紹介したいと思います。 文法 Traversing methodでインデントを下げて、.end()でインデントをあげます。 (Traversing以外のmethodはインデントを維持します) そして、末尾には開始行と同じ位置に「;」を置きます。 $('body') .find('a') .filter('.permlink') .attr('href', function () { return $(this).attr('href').repla

    jQuery言語入門 : tech.kayac.com - KAYAC engineers' blog
    kits
    kits 2012/05/27
    「$()は$(document)と同じ意味」1.4からは empty set を返すようになったらしい。 http://api.jquery.com/jQuery/#returning-empty-set
  • jQuery Standards Teamが発足 | Web標準Blog | ミツエーリンクス

    jQueryプロジェクトがStandards Teamという名前のサブチームを立ち上げたことを発表しています。 Announcing The jQuery Standards Team jQuery Standards Teamは、標準化団体やベンダーに対し、Web開発者という立場から働きかけていくチームです。Web標準やブラウザ相互運用性の重要性は高まるばかりですが、Web開発者コミュニティと、標準化団体・ベンダーとの連携はそこまでうまくいっていないという問題意識から生まれたようです。 ブログの中では、標準化団体の持つ標準化プロセスの難しさ、長くなりがちな議論に割ける時間が開発者にない、ブラウザ開発者が活発に議論するメーリングリストでは技術への深い理解が必要という雰囲気になっているといったことが課題として挙げられています。 jQuery Standards Teamは次のゴールを掲げ、関

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • jQueryプラグイン: Harmonize Text

    親要素の幅に収まるようにフォントサイズを変更するjQueryなJavaScriptコードを、Harmonize Textという名前のjQueryプラグインにしました。FitTextを見て「コード短くて凄い!」とか思ったんですけど、自分の求めているものとはずいぶん違ったので、自分で書いたのをjQueryプラグインにしようというモチベーションが湧きました。 Repository: hail2u/jquery.harmonize-text 内容はリサイズに対応するようにした以外は特に変わっていないので、スクロールバーの有無によってぴったり収まらないバグは直っていません。リサイズは重いし、遅延させた方が良さそうな気がするので、そこら辺のオプションを指定できるようにしようかなと考えています。-1を引数として渡すとでリサイズに対応しない、正の整数ならそのミリ秒だけ遅延させてからリサイズ処理を行うとかで

    jQueryプラグイン: Harmonize Text
  • jQueryでcheckboxがcheckされてるかの値をとる - Webtech Walker

    checkboxがcheckされてるかどうかを判別するメソッドってjQuery側に用意されてないんですよね。 twitterでも色々教えてもらったけど方法としては3つくらいかなー。 https://twitter.com/kyo_ago/status/11685019866 https://twitter.com/songmu/status/11675950113 https://twitter.com/rea/status/11675545507 素のHTMLエレメントから取得 var checked = $('#elem').get(0).checked; せっかくjQuery使ってるのにという感じがいなめない。。これはないかな。 is()で取得 var checked = $('#elem').is(':checked'); これが一番直感的ではある。これでいいっちゃいい気もする。

    jQueryでcheckboxがcheckされてるかの値をとる - Webtech Walker
    kits
    kits 2011/04/12
    $().attr('checked') は一見 $().get(0).getAttribute('checked') と同じになりそう(確認したところ、ちゃんとチェック状態が反映された)。$().get(0).checked の方が何となく安心。
  • less - jQuery Templatesプラグインが面白い

    jQuery Templatesプラグインが面白い jQuery TemplatesプラグインはjQuery公式のテンプレートエンジンです。元々マイクロソフトのASP.NET Ajax Libraryで実装されていた機能を切り出したものらしい。 jQuery Templates, Data Link, globalization が公式 jQuery プラグインに加わりました - THE TRUTH IS OUT THERE - Site Home - MSDN Blogs 現在は1.0.0pre。そろそろ出るjQuery 1.5には標準で入る模様です。preですがマイクロソフトのCDNが利用出来ます。 配列を渡すと自動的にループして出力されるなど、JSONをそのまま渡して動くように意識されているところが面白いと思いました。 <ul id="name-list"></ul> <script

    kits
    kits 2011/01/07
    「HTML上にテンプレートを置く際の記述もかっこいい」(type="text/x-jquery-tmpl")
  • http://twitter.com/3ping/status/24474851543

    kits
    kits 2010/09/15
  • HTML5 の placeholder 属性を jQuery でクロスブラウザに

    2011-09-23更新: 一部を修正して Gist に置きました。 フォームの入力フィールドにあらかじめテキストを表示させておく「プレースホルダ」。ブラウザの検索バーなんかに見られるような、フィールドが空のときは薄く文字が表示されていて、フォーカスすると消えるあれです。このプレースホルダの機能、HTML5 では input 要素や textarea 要素の placeholder 属性で簡単に実現できます。 <label>お名前 <input type="text" name="fn" placeholder="山田 太郎"></label> しかしながら、この placeholder 属性をサポートしているのは今のところ Safari と Chrome のみ。そのほかのブラウザでは無視されてしまいます。そこで、この placeholder 属性をクロスブラウザで扱えるようにする jQu

    HTML5 の placeholder 属性を jQuery でクロスブラウザに
    kits
    kits 2010/07/18
    eachループの中で function(){ ... } しているところなどはもっと効率化できそう。 → と思ったが、元の色を保存するために要素の数だけクロージャを作る必要があった。
  • オブジェクト指向っぽい話が分かるかもしれないJavaScript講座 その3 | Takazudo Clipping*

    今回は、画像のロールオーバーを、今まで説明してきたように、クラスを使いながら作ってみます。リンクにマウスオーバー(及びフォーカス)されると、中にある画像のsrcの "_normal." を、 "_over." に変更してセットし、マウスアウト(及びブラー)されると、これと逆のことをします。 サンプルとソース サンプルその1 <ul> <li><a class="rollover" href="http://diablo.com"><img src="diablo_normal.gif" alt="Diablo" /></a></li> <li><a class="rollover" href="http://hoge.com"><img src="hoge_normal.gif" alt="HOGE" /></a></li> <li><a class="rollover" href="ht

  • オブジェクト指向っぽい話が分かるかもしれないJavaScript講座 その1 | Takazudo Clipping*

    自分はスーパーJavaScripterでこんなすげーのが5行で書けちゃう。やばいだろ!とかいうのでは全然無いですが、オブジェクト指向っぽい話が最近分かってきたつもりで、それでやっときゃ問題無いってことを思い始めているので、なんかそんな話を書いていきます。 こんな短く書くテクニックがあるぜ! var hoge = hage ? huga : hoga; とか書けちゃうんだぜ!とかより、長くていいから分かりやすく拡張しやすいようにするにはどうするのかとか、そういう話ができればなーと思います。内容的には全くもって新しくも何とも無いですが。jQuery使ってやる前提です。 まんじゅう製造スクリプト 今日はまんじゅうを5個作ります。なんと、まんじゅうは、クリックすると隠れます。 まんじゅうサンプル var Manju = function(){ this.elem; this.hidden = fa

  • Firefox 拡張を jQuery で書く! Jetpack を使ってみた。 - IT戦記

    はじめに JavaScript が書ければ、誰でも簡単に Firefox の拡張が書けてしまう。しかも、もれなく jQuery が付いて来る! というものを Mozilla Labs がリリースしたみたいですね。 https://jetpack.mozillalabs.com/ というわけで 少し触ってみました Jetpack Feature の書き方 Jetpack で書く Firefox 拡張を「Jetpack Feature」といいます。 これは、以下の 2 つのものを用意すれば誰でも簡単に公開することが出来ます。 JavaScript ファイル 公開用 HTML ファイル JavaScript ファイル JavaScript ファイルには、 Jetpack Feature のアプリケーションコードを書きます。 (function() { Jetpack.statusBar.appe

    Firefox 拡張を jQuery で書く! Jetpack を使ってみた。 - IT戦記
  • フォーカスを当てるとデフォルト文字列が消えるinput text (jQuery編) (2009-05-16)

    いろんな文献を気軽に参照しにくい環境になり、いちいち検索しなくてもいいようにここにまとめておきたい感じになったのでしばらくそんな普段書かないようなPOSTばかりします。 まず、最近良くある、デフォルトの状態では入力例を表示して、フォーカスを合わせると消えるというインプットボックスの実装例について。このブログのコメント入力フォームがまさにそんな感じ。 <form action="hoge.php" method="get"> <p><input type="text" name="q" id="q" size="30" value="検索語を入力してください"><input type="submit" value="検索"></p> </form> $(function(){ $("#q").focus(function() { if($(this).val() == $(this).att

    kits
    kits 2009/05/18
    $(this) を3度実行するのは勿体無いので最初に var $this = $(this) して $this を使い回すとか。/ もしくは if ( this.value == this.defaultValue ) this.value = '' でもよさそう。
  • http://less.carbonfairy.org/post/70798088/ie-css-append

    kits
    kits 2009/01/16
    $(document.createElement('link')).attr('href',href).attr('rel','stylesheet').attr('type','text/css').appendTo('head') みたいにするとIEでもFirefoxでも適用できた。(via deadspace) / attr()は{}でまとめて指定できることを失念してました。
  • jQuery を高速に使う CSS セレクタの書き方 - てっく煮ブログ

    JavaScriptjQuery は CSS セレクタで要素を選んで処理できるのが魅力的ですね。そんな jQuery ですが、CSS セレクタの書き方次第で速度が大幅に変わってきます。ここでは jQuery の内部処理を疑似コードで示しつつ、jQuery を高速に使うためのポイントを5つに絞って紹介します。何度も同じセレクタを実行しないクラスだけを指定するのは禁止#id を積極的に使う途中までの結果を再利用する子供セレクタ(>)を使うと速くなることがある※ この記事は jQuery 1.2.6 のソースコードを元に記述しています1. 何度も同じセレクタを実行しない改善前 // 例題 1 $("div.foo").addClass("bar"); $("div.foo").css("background", "#ffffff"); $("div.foo").click(function(){

    kits
    kits 2008/12/11
    「何度も同じセレクタを実行しない」
  • RedLine Magazine : スペースは嫌、class付けるのも嫌な時用(追記有)

    スペースは嫌、class付けるのも嫌な時用(追記有) >>081210:追記 コメント欄にてもっといい書き方教えて頂きました! タイトル、なんのこっちゃ?って感じなんですが、そういう時があるんです。例えば会社概要なんかをマークアップした時、定義リストとして書く際にdtに社名、所在地、電話番号・・・って入れるじゃないですか。そういう部分の元原稿って「社 名」みたいな感じで2文字の部分に予めスペースが入ってて見た目を整えてあるものが多いんですね。なんちゃって均等割り付けみたいな感じ。 ところがwebの場合、そういうのってhtmlに直接スペース入れられないじゃないですか。アクセシビリティ的にも文書的にも。もちろんデザイナ目線でのその部分の見た目を整えたい気持ちも分かるんですね。なのでCSSのletter-spacingで左右揃ってなくてもとりあえずなんとなく全部間隔あけとくか、チマチマと例外部分

    kits
    kits 2008/12/11
    より短く var strLength = $(this).text().length; if ($.browser.msie) strLength--; とか。/ 何度も出てくる $(this) は最初に適当な変数に保存しておきたい。/ IEだと何故か text() の末尾に空白が入る様子。
  • JSONとJSONP

    JSONとJSONP ネタ元:JSONについての勉強メモ:外部URLから呼び出せない。どうやったら・・・ JSONやJSONPを利用したJavaScriptでのデータをの取り扱い方です。 JSONの場合 JSONはJSONについての勉強メモで書かれているようにデータをオブジェクトとして記述しておく方法です。 var jsonData ={"users": [ { name: "hamu", age : 24, language:["XHTML" , "CSS"] }, { name: "h2", age:25, language:["PHP" , "Java"] }, { name: "hoge", age:26, language:["JS" , "jQuery"] } ]} とJSONを定義しておけば、 for(var index in jsonData.users){ documen

    JSONとJSONP
    kits
    kits 2008/07/20
    関数内で $('body') を何度も実行しているのがすごいじれったい。せめて $('body').append().append()... とか。
  • 最近よく使っているコードセットのようなもの 第9回 パーソナルブログの作り方-Re:Creator’s Kansai (リクリ)

    PR 「おすすめのレンタルサーバーランキングが知りたい」「人気のレンタルサーバーを比較したい」という方に向けて、2024年3月最新の人気レンタルサーバーのおすすめ10社をランキング形式で紹介します。 当記事ランキング1位のレンタルサーバーがキャンペーン中! シン・レンタルサーバーがキャンペーン実施中!(2024/5/20まで) 実質385円~「利用料金50%キャッシュバックキャンペーン」 出典:シン・レンタルサーバー公式サイト シン・レンタルサーバーでは、2024年5月20日(月)まで月額利用料金が実質半額になるキャンペーンを開催中です。 ベーシックプランの36ヶ月契約なら、「13,860円」キャッシュバックで、なんと実質「385円/月」で利用できます。

    kits
    kits 2008/07/02
    CSS, JS未対応の環境のことを考えると、マークアップはもっと改善できそう。