はじめに 私は長い間レガシーコードと共に仕事をしてきましたが、jQueryの重要性は依然として頻繁に話題に上がるトピックの一つです。ライブラリ自体は便利なままですが、それは別の時代のニーズを完璧に満たしていました。 現在、私たちは既にES2023について話していますが、過去にjQueryがカバーしていたほとんどの機能は、すでに2015年にリリースされたES6に取り込まれています。 ES6の標準は既に広範にサポートされており、96%のレベルに達しています(出典:caniuse.com)。そのため、特に要素の選択、スタイリング、アニメーション、データの取得などの基本的なタスクについては、ライブラリの使用を見直す良いタイミングかもしれません。 以下のトピックは、いくつかの標準的なjQueryのパターンと、それに相当するバニラJavaScriptでの手法を示す参考資料として役立つと思います。 要素

jQueryUIとjQuery Mobileがついに開発終了、今後はメンテナンスのみに。jQuery本体は引き続き積極的に開発JavaScriptのUIフレームワークであるjQueryUIと、モバイルアプリケーション向けフレームワークであるjQuery Mobileは今後新規機能の開発が行われず、jQueryUIについてはメンテナンスへ移行、jQuery MobileについてはDeprecated(利用を推奨せず)になることがOpenJS Foundationから正式に発表されました。 jQueryUIは2007年に登場、jQuery Mobileは2011年に登場しました。一時期はWebサイトなどで広く使われ、関連書籍なども数多く出版された主要なライブラリ群の開発が正式に終わることになります。 ただしjQuery本体の開発は引き続き積極的に行われていくとのことです。 Follo

JavaScriptライブラリとして知られるjQueryが約1年ぶりにアップデートされ、「jQuery 3.3」が1月19日付けでリリースされました。 1つ前のバージョンであるjQuery 3.2のリリースが2017年3月16日で約10カ月前、さらにその前のバージョンであるjQuery 3.1のリリースがそこから8カ月前に遡る2016年7月7日ですので、jQueryはゆっくりながらも着実にアップデートされてきたといえるでしょう。 配列に対してまとめてクラスの追加や削除が可能に 新機能として.addClass()、.removeClass()、.toggleClass()の3つのメソッドが、列挙されたデータに対して利用可能になりました。以下がその例です。 jQuery(elem).addClass([ 'dave', 'michał', 'oleg', 'richard', 'jason',

jQuery 3.0正式版がついにリリース。通常版のほかに、Ajax機能を省略したスリムビルド版も提供 これまでjQueryは、、モダンブラウザのみをサポートすることで軽量化と安定化をはかった「jQuery 2.x」系と、Internet Explorer 8以前を含む古いバージョンのブラウザまでサポートする互換性重視の「jQuery 1.x」系の2系統が存在しました。 しかしマイクロソフトがInternet Explorer 8のサポートを今年1月に終了したことで、古いブラウザをサポートする必要が大幅に薄れたため、jQuery 3.0以降はモダンブラウザだけをサポートするjQuery 3.0系だけになります。今後jQuery 2.x/1.xへの機能追加やバージョンアップは基本的に行われません。 jQuery 3.0はメジャーバージョンアップとなるため、過去のバージョンと非互換の部分があり

注意とお願い この記事の内容はもはや古いです。ここに書いている方法では動かないものをいくつか見つけました。参考にする際は動作をよく確認してから使ってください。 ひとつお願いがあります。「あれ、動かないぞ」というコードを見つけたら是非コメントか編集リクエストで教えてください。解決方法までなくても結構です。「これはもう動かないよ」という印をつけたいのです。 この記事はYou Don't Need jQueryの日本語訳と同じ内容です。 先日ひょんなことからYou Don't Need jQueryの日本語訳をさせていただきました。著者のCam Songさんからも快諾をいただけたので1、Qiitaでも公開させていただきます。 なお、本家の英語の説明は継続的にメンテされているので、この記事の情報は古くなっている可能性があります。 追記 この記事は当初は「もうjQueryは必要ない」というタイトルで

とあるお仕事で、jQueryなどのライブラリー利用不可というものがありました。その際利用した、jQuery的に使える便利なメソッドをメモしておきます。(※ 昔使っていたものを引っ張りだして改善したものなので、どこかで公開されている可能性があります) 更新 addClass,removeClassを修正致しました。 元記事 下記エントリの転載になります。 jQueryがNGな時に備えて、用意しておきたい便利なメソッド イベントリスナ jQueryでいうところの、.on() に該当するものです。 "addEventListener" か "attachEvent" かを判定し、addEventメソッドを定義しています。 var addEvent; if (window.addEventListener) { addEvent = function (target, name, fn) { if

「jQuery 2.x→jQuery 3.0」「jQuery 1.x→jQuery Compat 3.0」に。jQueryが新名称と新バージョンへJavaScriptのライブラリとして人気のあるjQueryは現在、モダンブラウザのみサポートすることで、より小さく速く安定したjQuery 2.x系と、古いバージョンのWebブラウザを含む幅広いWebブラウザをサポートするjQuery 1.x系の2つが存在しています。 この2つのバージョン表記を、次のリリースから変更することが、jQueryのブログにポストされた記事「jQuery 3.0: The Next Generations」で発表されました。 バージョンは3.0に統一 現在のjQuery 1.9系とjQuery 2.0系は、前述のようにサポートするブラウザが異なるだけで、APIは基本的に互換性があります。 そこで、次のリリースからこの

ページをスクロールすると右下に出てくる「TOPへ戻るボタン」の作り方を、jQuery初心者にも分かるよう説明しています。

Web開発にとても便利なjQueryですが、 実はメモリーリークを誘発しやすい構造であることは あまり知られていないようです。本記事ではメモリーリークが発生する傾向と対策を紹介します。 皆さんjQueryは使ったことありますよね。Webでの開発ではとても便利で、ほぼ必須と言っても過言ではありません。しかしながらこのjQueryはメモリーリークを誘発しやすい構造であることはあまり知られていません。 GCのあるJavaScriptでメモリーリークが発生するとは何を言っとるんだ、と思われる向きもあるやもしれません。しかしGCがあっても、もう使わなくなったオブジェクトを配列やテーブル(Object)にしまいこんでいて、それを回収するタイミングが存在しなければ積もり積もってメモリを圧迫する、メモリーリークとなりうるというのは想像に難くないでしょう。jQueryで起こりうるメモリーリークはそのような
オレオレMV**フレームワークを紹介する際にjQueryを引合いに出して語る事案が多く、そこで語られるjQuery批判が的外れもいいところなのが散見されるので書きました。 Abstract MV**便利フレームワーク・ライブラリを紹介するときに、jQueryの一番イケてない書き方を引き合いに出して比較して「こんなにすごいんです」と紹介するのは不毛極まりないのでいい加減に止めろ jQueryで書いたコードがひどいのは、クライアントサイドWeb(あえてこう書く)が過去10年近くにわたって設計を軽視してきた結果であり、その根本が変わらない限り、問題は変わらない jQueryエンジニアをdisりながら、Angularエンジニアを産み出すとかギャグじゃないの? 私個人のjQueryに対する見解 だいたい同意する意見: jQueryについての私見 - mizchi'sblog mizchi / いか
おお、これはかなり使えそう! テキストボックスやテキストエリアに入力された文字列に対して何らかの処理を行いたいと思うことは良くあります。さらにキャレットのある場所や選択されている文字に対して処理を行うのも良くある処理ではないかと思います。 例えばWYSIWYGエディタを作ったり、選択文字を別なサービスに飛ばしたりといった使い方が考えられます。意外と選択範囲を取り出すというのは面倒な処理なのですがjQuery.selectionを使うとごくごく簡単にできそうです。 テキストボックスの場合 例えばテキストボックスの例です。 $('#sel-input').click(function(){ alert($('#input').selection()); $('#input').focus(); }); $('#input').selection() で選択されている文字が取れます。 こんな感じ
jQuery.ajax() のレスポンスを指定した文字コードで取得する系の話はその辺にごろごろ転がっていますが、逆にリクエストを指定した文字コードで行う系の話がほとんど見つからなかったので、ライブラリを作成しました。 考え方としては、通常はUTF-8 で行われるリクエストパラメータの URI エンコード処理を、ShiftJIS や EUC-JP で行ってやればよいだけです。……とはいえ、文字列を ShiftJIS や EUC-JP に変換する部分は大変なので、ライブラリ任せにしてしまっています。UTF-8 から他の文字コードへの変換処理には、http://polygon-planet-log.blogspot.jp/2012/04/javascript.html の encoder.js を使用しています。下記コードの利用には、encoder.js(https://raw.github

もんたメソッド は(最近、突然TVでは見なくなった)某司会者がTV番組で行なっていた、一部を隠した文章を基にそれを徐々に見せながら行なうプレゼンテーションの方法です。さっきそれを知った私は、手軽にHTMLでもできたらな、ということで早速 jQuery プラグイン jquery-monta を書いてみました。 使い方は簡単です。まずは jQuery を読み込んでから、jquery-montaを読み込んで、隠したい 要素を jQuery で選択して monta() メソッドを呼ぶだけです! 実際の書き方はこんな感じ。 <div id="monta-sample"> これは<span>もんたメソッド</span>のサンプルです<br /> <span>隠したい要素</span>を jQuery でクエリーして <span>monta() メソッド</span>を呼ぶだけで<br /> 手軽に<s
Facebookで人物を補完すると、その人物名の周りに枠が表示されて強調されますよね(gif画像参照)。 これのやり方を解説します。 TL;DRtextareaの強調表示は、textareaを透明にして後ろにいい感じの背景を設置してるだけtextareaの中にDOMを入れても表示されない パッと考えるとtextareaの中にDOMツリーを入れるとそれが表示されるんじゃないか、と思うかも知れません が、ぜんぜんそんなことは無くて、そのまま文字列が表示されてしまいます。 ご存知のようにtextareaやinputは、他の要素のように子要素を表示するのではなく、自身のvalue属性の値を画面に表示する働きをします。value属性は文字列を格納するためのものなのでDOMを入れられないわけですね。 強調用のDOMを重ねあわせるtextareaにはDOMをそのまま入れられないので、仕方がなく周り

WebページをRetina対応させるテクニック~基礎知識編:jQuery×HTML5×CSS3を真面目に勉強(4)(1/2 ページ)iPhoneのRetinaディスプレイは、Webページの制作フローにも大きな変化をもたらした。WebページをRetina対応させるにはどうすればいいのだろうか。 はじめに 2010年6月に登場したアップルのiPhone 4には「Retinaディスプレイ」と呼ばれる、それまでの常識を覆した高精細なディスプレイが搭載されました。それ以降、スマートフォンやタブレットといったモバイル端末のディスプレイはより解像度の高いものへと進化していき、2013年の初めにはサムスン電子のGALAXY S4やソニーモバイルのXperia Zなど、フルHD画質対応(1920×1080ピクセル)のディスプレイを搭載したスマートフォンが登場するまでになりました。 高精細ディスプレイの登場
demo 3: チェックボックス Hide/Show Passwordsの使い方 Step 1: 外部ファイル 外部ファイルに当スクリプトとjQuery、またはZepto.jsを外部ファイルとして記述します。 ※jQueryとZeptoの兼用プラグインとなっています。 <script> document.write('<script src=vendor/' + ('__proto__' in {} ? 'zepto.custom' : 'jquery') + '.js><\/script>') </script> <script src="hideShowPassword.min.js"></script> Step 2:HTMLHTMLは通常通りのフォームの作成です。 <div class="login"> <input type="text" placeholder="Usern
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く