我尝试使用以下代码从我的css中删除属性但不起作用。
document.getElementById("wrap").style.removeProperty('overflow-x');
CSS:
#wrap{
overflow-x : hidden;
}
当我运行javascript时,收到错误Cannot read property 'style' of null
答案 0 :(得分:3)
发布的代码将删除以下场景中的overflow-x样式:
<div id="wrap" style="overflow-x: hidden"></div>
CSS应用属性不直接应用于元素的style属性 - 它们应用于更高层。
实际上,没有什么可以删除样式属性,但你可以在那里设置一个值,它会覆盖从CSS属性应用的值(除非css指定了!important
标志)
请改为尝试:
document.getElementById("wrap").style.overflowX = 'visible';
由于您的具体方案是基于某些浏览器检测应用样式,我建议使用以下javascript:
var userAgent = window.navigator.userAgent.toLowerCase();
var is_ios = /iphone|ipod|ipad/.test( userAgent );
if (!is_ios) document.body.className += 'not-ios';
使用CSS:
.not-ios #wrap {
overflow-x : hidden;
}
您还可以使用class
“换行”而不是id
来使其更易于重复使用(如果需要)