Check

たまにやるjQueryのミス

| | コメント(0) | トラックバック(0)
http://tockri.blog78.fc2.com/tb.php/138-3b66597e

$('table.hstripe tbody tr td:even').addClass('hstripe-even');

ってやるとtable.hstripeが複数あったときに全部まとめて一つのテーブルとして計算されるので、例えば以下のようなときにまずい。

<table class="hstripe"><tr><td></td></tr></table>
<table class="hstripe"><tr><td></td></tr></table>
<table class="hstripe"><tr><td></td></tr></table>

これはこんな感じになるはず。

<table class="hstripe"><tr><td class="hstripe-even"></td></tr></table>
<table class="hstripe"><tr><td></td></tr></table>
<table class="hstripe"><tr><td class="hstripe-even"></td></tr></table>

こうすればOK(多分)

$('table.hstripe').each(function () { $(this).find(' tbody tr td:even').addClass('hstripe-even'); });

<table class="hstripe"><tr><td class="hstripe-even"></td></tr></table>
<table class="hstripe"><tr><td class="hstripe-even"></td></tr></table>
<table class="hstripe"><tr><td class="hstripe-even"></td></tr></table>

「あるある」と思ったので古い記事だけど突っ込んでみた。

トラックバック(0)

このブログ記事を参照しているブログ一覧: たまにやるjQueryのミス

このブログ記事に対するトラックバックURL: http://0-9.sakura.ne.jp/mt/mt-tb.cgi/765

コメントする