如何使用Javascript删除类

如何使用Javascript删除类,javascript,getelementsbyclassname,Javascript,Getelementsbyclassname,另一个新手问题: 当screen.width小于或等于320 px时,我试图从DOM中完全删除一个类。 在不指定屏幕宽度的情况下尝试此操作效果很好。该类将从页面中删除,但当我尝试指定条件屏幕宽度时,它不会删除。 有人能帮我吗? 这就是我所拥有的: <div class="poison">Poison Text</div> <script> var p = document.getElementsByClassName('poison'); var cstr

另一个新手问题: 当screen.width小于或等于320 px时,我试图从DOM中完全删除一个类。 在不指定屏幕宽度的情况下尝试此操作效果很好。该类将从页面中删除,但当我尝试指定条件屏幕宽度时,它不会删除。 有人能帮我吗? 这就是我所拥有的:

<div class="poison">Poison Text</div>

<script>
var p = document.getElementsByClassName('poison');
var cstr = "poison";
var poison = screen.width;

if (poison <= 320) {
    (var i = p.length; --i >= 0;) {
        var n = p[i];
        while (n.className.split(" ").indexOf(cstr) == -1) {
            n = n.parentNode;
        }
        n.parentNode.removeChild(n);
    }
}
</script>
有毒文本
var p=document.getElementsByClassName('poison');
var cstr=“毒药”;
var=屏幕宽度;
如果(毒药=0;){
var n=p[i];
而(n.className.split(“”).indexOf(cstr)=-1){
n=n.parentNode;
}
n、 parentNode.removeChild(n);
}
}

对此,您应该使用媒体查询而不是JS。将此行添加到样式表中

@media (min-width:320px){


}
并将您希望使用的大小在320px以上的类放入其中


您还可以使用“最大宽度”和多个条件

看起来您试图为
循环
(var i=p.length;--i>=0;)
编写
,但忘记了
(var i=p.length;--i>=0;)
应该做什么?这是一个
if
语句吗?循环的
?在当前状态下,这段代码将无法实现任何功能。您应该在测试代码时打开开发人员控制台……而且,我看不出
while
循环的目的。您已经知道
n
元素具有该类,那么为什么要尝试遍历它的祖先呢?使用媒体查询进行遍历会将其从视线中移除,但元素仍然存在并占用空间。我希望使用javascript将其从DOM中删除,从而在呈现页面时使页面上的空间可用。