SugarをjQueryと併用できるか試してみた
スポンサーリンク
新顔のJavaScriptライブラリSugar.jsが話題になっていたので使ってみた。ざっと見たところ、文字列の操作や日付の扱いに便利そうなメソッドがたくさんあるみたい。
取りあえずjQueryと併用できるかためしてみる。
$("#btn1").click(function(){ $("#ans").text( $("#str").val().at( $("#num").val() ) ); });
こういうコードを書いてみた。val()
はjQueryのメソッドで、フォームに入力された内容を取得する。at()
はSugarのメソッドで、文字列から指定したインデックスの文字を取得する。"foobar".at(3)
とあれば、foobarの3番目の文字である“b”を取り出す。
ここでは、下に用意したフォームの左側に文字列、右側のフォームに数値を入力しcheckボタンを押すと、指定した番号の文字を下に表示するようにした。コードではval()
で取得した文字列を直接at()
に突っ込んでいる。
ご覧のように、特に問題なくSugarとjQueryが共存している。
では同じ名前のメソッドは? jQueryで.has()
は引数に指定した要素が存在した場合にオブジェクトを返すメソッド。Sugarで.has()
は文字列の中に引数で指定した文字があれば真偽値を返す。この2つが同時に問題なく使えるかどうか。
以下のようなコードを書いてみた。リストの「子なし」をクリックするとfalseが、子ありをクリックするとtrueが表示される。
- 子なし
- 子あり
- 子要素1
- 子要素2
$("#test2 li").click(function(){ var a = $(this).has("li").text().has( /要素2/g ); $("#ans2").text(a); });
$(this)
の後にある.has()
はjQueryの.has()
で、.text()
の後にある.has()
はSugarの.has()
として機能している。クリックしたliが子要素にliを持っていれば、その中身の文章をtext()
で取得し、.has( /要素2/g )
で取得した文章中に要素2という文字列があればtrueを返す。
ということで、同じ名前のメソッドにもかかわらず、jQueryとSugarは問題なく共存しているようだ。
スポンサーリンク
JavaScriptカテゴリーの投稿
- [Gmaps.js] 地図をドラッグした後の中心座標を取得する
- [jQuery] 文字列が含まれているかどうかの判定
- 圧縮後のJavaScriptやHtmlを元に戻すWebサービス
- Google Code Prettify導入が超絶簡単になっていた
- [JavaScript] 全角を2、半角を1と数えるコード
- [JavaScript] 指定範囲内の整数からランダムな値を得る
- [JavaScript] sort()メソッドによる配列の並び替え
- シンタックスハイライター「Google Code Prettify」のカスタマイズ
- [JavaScript] オブジェクトにプロパティを追加
- [JS] 正規表現の特殊文字を置換するJavaScript版preg_quote()
jQueryカテゴリーの投稿
- [jQuery] $.ajaxのコールバック関数にcontextで値を渡す
- [jQuery] 文字列が含まれているかどうかの判定
- [jQuery] rowspanを持つtableで行の表示・非表示を切り替える
- [jQuery] find()とchildren()の使い分け
- jQueryとPHPでAJAX通信を行う
- [jQuery] $('form').change()でフォーム全体の変更を監視する
- [jQuery] 属性が存在するかどうかチェックするコード
- [JS][jQuery] 要素の存在を確認する6通りのコードと実行速度
- [jQuery] tableの内容を取得する
- [jQuery] clone()で操作対象のエレメントを元の位置に保つ