これは何が起こったかの非常に単純化された例です
jQuery(".resultAction").each(makeItso);
function makeItso() {
//code executes (it was a conditional to test for a file extension and display apply a class)
//the short version:
jQuery(this).find("#indicator").addClass("is" + fileExtension.slice(1));
//no file extension hide the icon div "indicator"
if ((fileExtension.indexOf('.') == -1)) {
jQuery(this).find("#indicator").addClass("not");
}
}
現在、これはうまく機能し、1 ページあたり約 100 件の結果があったため、.ready() よりも高速に機能しました。
しかし、1 つのバグがありました: 最後の要素では実行されませんでした。そのため、ページが読み込まれた後に最後の項目で関数を再実行するためにこれを行いました。
jQuery(document).ready(function(){
jQuery(".resultAction:last").each(makeItso);
});
要するに、これは Firefox、IE 7、8、9 でうまく機能しましたが、興味深い点は次のとおりです。Mac と VMware Fusion を使用してテストしたので、問題ないと「思った」テスターは彼らの PC と IE 8 --Epic は失敗します。
私は何かを学びました: 仮想マシンでの #1 テストは、実際の取引と同じではありません。また、私の質問は、なぜこれが IE 8 でクラッシュし、それ以外の場合は 9 と Fox で正常に動作したのですか? コーディングが下手だったのでしょうか?