有谁知道为什么使用.removeAttr('style')时CSS无法在ipad上更新?

这是一个简单的示例,展示了我如何实现我的精灵切换:

的CSS

nav li a { background: url('../img/sprites.gif'); }
nav li a#pizza { background-position: -40px -42px; }
nav li a#beer { background-position: -40px -82px; }
nav li a#spagetti { background-position: -40px -122px; }


Java脚本

var $arr_nav_elements = $('nav li a');
$('nav li a').on('click', function(event) {
   //works fine on all modern browsers except ipad!
   $arr_nav_elements.removeAttr('style');

   var $arr_bg_pos = $(this).css('backgroundPosition').split(" ");
   //create "active" state on the current button
   $(this).css('backgroundPosition', '0 '+$arr_bg_pos[1]);
}


在上面的示例中,我的按钮在第一次单击时将在sprites.gif中变为“活动”状态,但是在我单击任何其他按钮后,不会在ipad上删除/更新jQuery的css()应用的内联样式。

有任何想法吗?

最佳答案

似乎.removeAttr('style');在ipad上有问题(可能是所有ios设备)

正如A. Wolff和pointed所指出的,这些替代方案都可以正常工作:

.attr('style','');
.css('backgroundPosition','');

关于javascript - .removeAttr('style')似乎无法在ipad上正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18895450/

10-11 20:03