javascript - 隐藏没有特定属性的 DOM 元素

标签 javascript jquery html css

我想在 767px 上隐藏所有没有 data-web-src 属性的图像。我尝试了以下但失败了;我怎样才能做到这一点?

$('#homepage-carousel .lazy_res').each(function(index, value) {
   var ws = $(window).width();
    var large = 1024;
    var medium = 767;
    var small = 0;
  if (ws <= medium) {
    $(this).not('[data-web-src]').hide();

  } else {
    $(this).not('[data-web-src]').show();
  }

});
img {
  width: 500px;
  float: left;
  margin-right: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="homepage-carousel">
  <img class="lazy_res" src="http://pre07.deviantart.net/338a/th/pre/i/2012/007/f/7/mapa_mundi_com_bandeiras___preto_by_plamber-d4leocd.jpg" alt="" />

  <img class="lazy_res" src="http://img05.deviantart.net/a6be/i/2013/099/8/9/helena_harper_by_plamber-d6125tx.jpg">
</div>

Codepen Demo

最佳答案

这应该用 CSS Media Queries 完成。无需 JavaScript。

/* Set page default styles and styles that should only
   be in effect for viewports under 767px wide here. */

img {
  width: 500px;
  float: left;
  margin-right: 10px;
}

/* Apply the following CSS only to viewports wider than 767px */
@media (min-width: 767px) {
  /* Select all images except those with an attribute of: dat-web-src */
  img:not([data-web-src]) {
    display: none; /* Hide the matching elements */
  }
  
  /* Make any other CSS changes you like here */
  
  /* This class will only be applied to images when the media query
     is in effect. */
  img.someNewClass {
    /* Whatever you need here */
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="homepage-carousel">
  <img class="lazy_res" src="http://localhost:82/works/anitur/img/slider/1.jpg" alt="" />

  <img class="lazy_res" src="http://localhost:82/works/anitur/img/assets/mice-1.jpg">
</div>

关于javascript - 隐藏没有特定属性的 DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44890390/

相关文章:

javascript - 根据 Ajax GET 请求将复选框设置为选中

javascript - 动态更新/显示 HTML 上的内容

html - DIV 元素不适合网页长度

html - 带有箭头 css 的聊天消息 block

javascript - JQuery 无法从动态创建的字段中获取输入值

javascript - Node : relocation error: node: symbol SSL_set_cert_cb, 版本 libssl.so.10 未在带有链接时间引用的文件 libssl.so.10 中定义

c# - 如何将数据从 WebBrowser 控件中的 JavaScript 返回到 C#?

javascript 过滤不需要的数据

javascript - 使用 map/reduce 和 jQuery 顺序运行任意数量的脚本

javascript - 禁用 PDF Web View 元素中的工具栏以禁用下载和打印