Javascript 删除纯js的css属性失败

Javascript 删除纯js的css属性失败,javascript,css,Javascript,Css,我尝试了以下代码从css中删除属性,但没有成功 document.getElementById("wrap").style.removeProperty('overflow-x'); CSS: #wrap{ overflow-x : hidden; } 当我运行javascript时,出现错误无法读取null属性'style'发布的代码将删除以下场景中的溢出-x样式: <div id="wrap" style="overflow-x: hidden"></div>

我尝试了以下代码从css中删除属性,但没有成功

 document.getElementById("wrap").style.removeProperty('overflow-x');
CSS:

#wrap{
overflow-x : hidden;
}

当我运行javascript时,出现错误
无法读取null属性'style'

发布的代码将删除以下场景中的溢出-x样式:

<div id="wrap" style="overflow-x: hidden"></div>

由于您的特定场景是基于某些浏览器检测应用样式,因此我建议使用以下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
“wrap”来提高可重用性(如果需要)

发布的代码将删除以下场景中的溢出-x样式o:

<div id="wrap" style="overflow-x: hidden"></div>

由于您的特定场景是基于某些浏览器检测应用样式,因此我建议使用以下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
“wrap”而不是
id
,使其更可重用(如果需要)

复制@我试过了,但没用你说的“没用”是什么意思?描述你的问题。你有什么错误吗?如果是这样,在你的问题中发布它。你正在用ipad/iphone测试这段代码,对吗?@DominatorX id wrap仍然包含overflow-x propertyDuplicate@我试过了,但没用你说的“没用”是什么意思?描述你的问题。你有什么错误吗?如果是这样的话,在你的问题中发布它。你正在用ipad/iphone测试这段代码,对吗?@DominatorX id wrap仍然包含overflow-x属性我知道这是有效的,但是如何删除css?不是样式。你的CSS规则针对ID为“wrap”的元素。您可以更改/删除元素的ID,或者更改CSS规则以针对您为iOS设备删除的特定类名。然后您只需从元素中删除该类即可。那么如何选择id呢?因为它是.wrap.com,所以可以循环使用找到的元素,并为每个元素设置属性。或者,为了避免循环和时序逻辑的依赖,您可以将单个类名(例如,
而不是ios
)添加到文档中较高的元素(例如html或body),并使css选择器
。而不是ios.wrap{…}
,然后,当浏览器被检测为iOS设备时,删除这个类。我知道这是可行的,但是如何删除css呢?不是样式。你的CSS规则针对ID为“wrap”的元素。您可以更改/删除元素的ID,或者更改CSS规则以针对您为iOS设备删除的特定类名。然后您只需从元素中删除该类即可。那么如何选择id呢?因为它是.wrap.com,所以可以循环使用找到的元素,并为每个元素设置属性。或者,为了避免循环和时序逻辑的依赖,您可以将单个类名(例如,
而不是ios
)添加到文档中较高的元素(例如html或body),并使css选择器
。而不是ios.wrap{…}
,然后在检测到浏览器是ios设备时删除这一类。