jQuery Tips: live関数はすべてのイベントに有効じゃない、その他...
今までjQueryを使ってきたtipsをメモします。
Tipsの定義とおり知っていればちょっと便利になるけど、
知らなくても特に問題ないですね。
ただしlive関数においてはすべてのイベントに有効じゃないのは
知っておいてほしいです。
live関数
liveはすべてのイベントに対応していない。
サポート
click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup
非サポート
blur, focus, mouseenter, mouseleave, change, submit
ajax関数のurlパラメータ
AJAXのURLではセレクタも併用できる。セレクタによりあるページの一部だけを読み込むことができる。
こんな形です:"url #some > selector"
デフォルトは"body>*"のセレクタが適用されていますよ。
```js $("#links").load("/Main_Page #jq-p-Getting-Started li"); ```:has(selector)フィルタ
:has(selector)は持ってるすべての子要素に対して動作してる
divい対して:hasフィルタを使うと、p要素までフィルタが走る
```htmlp..
<h4>属性フィルタの組み合わせ</h4>
<p>[filter][filter]……のように複数を連続して記述することもできます。この場合、すべての属性フィルタに合致する要素だけが取り出されます。</p>
<h4>htmlの組み立て</h4>
<h5>ハードコードで書く</h5>
```js
$(select).append("<option value='" + 1 + "'>text</option>");
jQueryの関数を用いて書く
$(select).append($('<option>').attr({ value: 1 }).text("text"));
このほうが簡潔だと思いますが、、
:nth-child
:nth-childフィルタによりn行おきに子要素を取得することができる
例えば、2、5、8行目……のように3行おきに(「3で割ったときの余りが2」番目の)要素を取得したい場合には、以下のように記述できます。
$('ol > li:nth-child(3n + 2)')
validationプラグイン
jQueryのvalidationプラグイン:showErrorを定義するとhighlightとunhighlightとは実行しない
そもそもshowErrorはエラーをどう表示するかを決めるための高レベルの関数なので、
簡略化したhighlightとunhighlightは隠蔽されたっぽいの感じで、完全に実行しません。