jQuery で発生した IE6 限定のコメントに関する意味不明なバグについてのまとめ。

jQuery で、コメントの最後が特定の文字のときに、その次の行にある処理まで(IE6 でだけ)無効化されてしまうという意味不明なバグを発見するまでの経緯。(セルフまとめ)
0
@kbysbtmup

jQueryにて:いくつかのHTML要素を1つの変数にまとめてappend()したら、IE6だけ何も表示されなかった。でも変数の値をalertで見たらちゃんと入ってた。で、変数にまとめずに直接append()の中でまとめるようにしたらちゃんと表示された。何なんだろう。

2011-04-15 17:31:17
@kbysbtmup

IE6にて:コメントアウトしたコードを削除したら、さっきまで表示できてたものが消えてしまうってどういうこと。

2011-04-15 17:40:30
@kbysbtmup

【追記】「コメントアウトしたコードを削除」したことが原因ではなくて、削除したことによってその上にある本当のコメントと隣接したことが原因みたい。1行空けたらちゃんと表示された。まぁどっちにしても謎。

2011-04-15 17:46:22
@kbysbtmup

【再追記】コメントを長めにしてみたら隣接しててもちゃんと表示されるようになった。つまり、コメントが短すぎるとその次の行にある処理までコメントアウトされてしまうということ??(IE6限定)

2011-04-15 17:49:49
@kbysbtmup

【再々追記】コメントの文字数は関係なく、コメントの最後の文字が「力(ちから)」になっていたらダメみたい。「出力」とか。再現性あり。

2011-04-15 17:56:45
@kbysbtmup

【結論】コメントの最後の文字が漢字の「力」になっていたら、その次の行にある処理もコメントアウト(無効)になるっぽい。※IE6のみ

2011-04-15 17:58:57
@kbysbtmup

そういえば:最初の問題もこれが原因だったのかも。と思ったけど現状で別に間違ってないし動いてるしとりあえず終了。

2011-04-15 18:04:09