jquery-1.4.2.js
$(".someClass").each(function(){ var d = $(this).prev("input").val(); $(this).css("background-color", d); //这里竟然报错 // $(this).css("background-color", "#fff"); // 这里竟然是好的,ie只支持literal量; });
解决方法1:用try catch
$(".someClass").each(function(){ var d = $(this).prev("input").val(); try { $(this).css("background-color", d); //这里竟然报错 } catch(e){ //dont output any err msg, but it works; } });
解决方法2:用cssText
$(".someClass").each(function(){ var d = $(this).prev("input").val(); $(this).get(0).style.cssText+= "background-color: " + d; //用style.cssText });
推荐第二种方法,
- 减少browser重绘次数的更新样式方法一般采用cssText,出于优化目的,可以参考《high performance javascript》;
- 不引发jquery的抛出异常