这是发生的事情的一个非常简化的示例
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");
}
}
现在,这运行得很好,并且比 .ready() 运行得更快——因为我每页大约有 100 个结果。
但是有一个错误:在最后一个元素上它没有执行 - 所以,我这样做是为了在页面加载后重新运行最后一个项目上的函数:
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 中运行良好?我编码不好?