タグ

ブックマーク / blog.livedoor.jp/eeu (4)

  • new String()と文字列リテラルについてのメモ [JavaScript] : ずっと工事中

    普段は意識しなくていいと思いますが、たまにハマることがある、newで作るStringオブジェクトとリテラル表記で作る文字列の違いについてです。 var str0 = new String('foo'); // Stringオブジェクトを作成 var str1 = 'foo'; // 文字列リテラルで作成 Stringオブジェクトのstr0は参照型のオブジェクト、文字列リテラルで作ったstr1はプリミティブ型です。 typeof var str0 = new String('foo'); alert(typeof str0); // object var str1 = 'foo'; alert(typeof str1); // string まずはタイプが違いますね。 instanceof var str0 = new String('foo'); alert(str0 instanceof

  • IE6のmax-widthとmin-widthと、expressionについての覚え書き [CSS, JavaScript] : ずっと工事中

    max-widthのよくあるサンプル max-widthを使ったちょっとしたサンプルを作る機会があって、IE6でに対応しようと思って検索してみたらIE独自拡張のexpressionを使っているものが多かったです。概要はこんな感じでしょうか。 *html #container { width : expression( document.body.clientWidth > 1000 ? '1000px' : 'auto' ); } ただしこの記述については少し気になる所があって、検索に引っかかる割りには指摘をしている記事が見当たらなかったので、その点について書いておきます。 CSSで該当した要素はthisで参照できる 上の例でCSSで要素を指定しておきながら、documentからたどって該当要素を探しているのは少し効率が悪いですね。更に#containerとdocument.bodyでは要

    keijix
    keijix 2009/12/25
  • jQueryの$(this)とthisの違い : ずっと工事中

    jQueryの$(this)とthisの違い jQueryのイベントハンドラやコールバック関数内のthisについてです。 大した内容でもありませんが、なんとなく知らないまま使っている人もいるみたいなので、ちょっとメモ書き。 $(this)とthisの違い thisはDOMエレメントです。 イベントハンドラのthisはそのイベントが発生した要素、eachのコールバック関数内のthisは順番の回ってきた該当する要素です。 一方$(this)の方はと言うと、この要素を$関数に渡して、単にjQueryオブジェクト化しているだけなんですね。 使い分け という事で、使い分けは、 DOMエレメントのプロパティやメソッドを使うときはthis jQueryオブジェクトのメソッドを使いたいときは$(this) ということになります。 例えば a要素のhref属性を取ってきて何か処理を書こうと思ったとき、 何も

  • IE6で:hover擬似クラスを適用するためのCSS : ずっと工事中

    ブログネタ:ライブドアブログのカスタマイズ に参加中! 今回もテンプレートを作ったときの副産物でも。 やや旬をすぎたネタですみませんが、IE6では:hover擬似クラスがaタグにしか効かないので代替策を探してみました。 IE6のためだけにJSを設置するのはスマートじゃないしテンプレート共有では警告も出るし、よく知られているcsshover.htcは記述自体がスマートでも別ファイルをどこかにアップロードしなくてはいけないなど、適当なものが見つからないときはこんな感じにすると良いようです。 *html .target-element { behavior: expression( (function(el) { if(typeof(behavior_onMouseEnter) == 'undefined') { behavior_onMouseEnter = function() { this

    keijix
    keijix 2009/02/27
  • 1