javascript - 在浏览器调整大小时从所有图像中删除类

标签 javascript jquery selector

我对 javascript 一无所知,我在这里需要一些帮助。从这里和那里的资源中,我试图执行以下逻辑。

当浏览器的宽度小于 700px 时,所有具有“star-wars”类的图像都将删除该类。

$(window).resize(function() {
  /*If browser resized, check width again */
  if ($(window).width() < 700) {
    function myFunction() {
      var element = document.querySelectorAll('img.has-zoom');
      element.classList.remove("has-zoom");
    }
  }
});

显然上面的代码是错误的。我需要你告诉我如何正确地写出上面的内容(如果这是正确的)。

最佳答案

document.querySelectorAll('img.has-zoom') 将返回 NodeList 而不是元素。

您需要循环遍历返回的列表或从中获取所需的元素,以从中提取classList

尝试:

window.addEventListener('resize', removeClass);

function removeClass() {
  width = window.innerWidth || $(window).width();

  if ( window.innerWidth < 700) {
    var elements = document.querySelectorAll('img.has-zoom');
    [].forEach.call(elements, function(el) {
        el.classList.remove("has-zoom");
    });
  }
}

2 秒后删除类别的示例:

setTimeout(function() {
  var elements = document.querySelectorAll('img.has-zoom');
  [].forEach.call(elements, function(el) {
    el.classList.remove("has-zoom");
  });
}, 2000);
.has-zoom {
  border: 3px solid yellow;
}
<img alt="Image 1" src="https://www.gravatar.com/avatar/a29d596b0af040d7def18d1801340a8b" class="has-zoom">
<img alt="Image 2" src="https://www.gravatar.com/avatar/a29d596b0af040d7def18d1801340a8b">
<img alt="Image 3" src="https://www.gravatar.com/avatar/a29d596b0af040d7def18d1801340a8b" class="has-zoom">

关于javascript - 在浏览器调整大小时从所有图像中删除类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59424772/

相关文章:

jQuery-UI 在没有 CSS 或自定义的情况下无法在我的用户脚本中工作?

javascript - 如何获取 Google App 脚本中所有选中复选框的值

Android:如何在单个 xml 文件中编写多个选择器

jquery - 如何使用 jQuery 将超链接文本用作变量?

javascript - MongoDB/Express - 如何在通过 connect() 连接后切换数据库

javascript - 进入新部分后旋转 Logo

javascript - AngularJS:请求的资源上不存在 'Access-Control-Allow-Origin' header

javascript - 全屏标题后固定导航

javascript - 确定所有表单字段是否完整

从未选择用于多个 OP 代码的 Java SocketChannel register()