【问题标题】:How to get data-src attribute with jquery?如何使用 jquery 获取 data-src 属性?
【发布时间】:2020-05-26 13:12:50
【问题描述】:

实际上我想当我将鼠标悬停在第一张图片上时必须再次出现 我想和你分享我的结构

<div class="tur-list-box">

    <div class="tur-list-content">
        <figure>
          <img data-src="img/assets/tourlist-2.jpg" class="lazy" src="img/assets/placeholder.png" alt="tur sayfası">
          <a href="#" class="figure-overlay">
              <p class="tour-price">
                <span class="price-big">73,</span>
                <span class="price-little">40</span>
                <span class="price-unit">TL*</span>
                <span class="price-block">‘den itibaren</span>
              </p>
          </a>
        </figure><!-- tur resim-->

        <div class="tur-details">
          <h3><a href="#">Hafta Sonu Turları</a></h3>
          <p>15 farklı program</p>
          <i class=" open-tur-toggle fa fa-chevron-down" aria-hidden="true"></i>
        </div><!-- tur detay-->

    </div><!-- tur list content-->

    <div class="tur-list-toggle">
      <ul class="list-unstyled">
        <li><a href="#" data-img="http://cdn.anitur.com.tr/resimler/orta/2016-02/otel_buyuk-abant-oteli_vPYKBnet58y0itPrkpce.jpg">Kakava ( Hıdırellez ) Şenlikleri Alaçatı <i class="fa fa-chevron-right" aria-hidden="true"></i></a></li>
        <li><a href="#" data-img="http://cdn.anitur.com.tr/resimler/orta/2016-10/otel_abant-palace-hotel_FTfyg8HYVB9lNeOUMA76.jpg">Ot Festivali Urla Enginar Festivali Turu <i class="fa fa-chevron-right" aria-hidden="true"></i></a></li>
        <li><a href="#" data-img="http://cdn.anitur.com.tr/resimler/normal/2016-01/tur_adana-portakal-cicegi-karnavali_3eO46CjOg4k34ooQM2mA.jpg">Adana Portakal Çiçeği Karnavalı Isparta <i class="fa fa-chevron-right" aria-hidden="true"></i></a></li>
        <li><a href="#" data-img="http://cdn.anitur.com.tr/resimler/normal/2016-01/tur_isparta-goller-yoresi-gul-hasadi-turu_Ue7lCTZhtuNk6DHTOy5C.jpg">Gül Hasadı Ve Göller Yöresi Turları <i class="fa fa-chevron-right" aria-hidden="true"></i></a></li>
        <li><a href="#" data-img="http://cdn.anitur.com.tr/resimler/normal/2016-03/tur_manisa-mesir-macunu-senligi-turu_ElEY2IdzFOfHLe6do7ja.jpg">Manisa Mesir Macunu Şenliği Turu <i class="fa fa-chevron-right" aria-hidden="true"></i></a></li>
        <li><a href="#" data-img="http://cdn.anitur.com.tr/resimler/normal/2016-01/tur_isparta-goller-yoresi-gul-hasadi-turu_KN8aDpGyF4O6gKABF5d4.jpg">Uçaklı Festival Turları <i class="fa fa-chevron-right" aria-hidden="true"></i></a></li>
      </ul>
    </div><!-- acilir kapanir alan-->

 </div><!-- tur list box-->
<script>
$(".tur-list-box").hover(
    function(){
        $(this).find(".tur-list-toggle").stop().slideDown();
        $(this).find(".open-tur-toggle").stop().removeClass("fa-chevron-down").addClass("fa-chevron-up");
    },
    function(){
        var getDefaultImg = $(this).find("figure img").data(".lazy");
        console.log(getDefaultImg);
        $(this).find(".tur-list-toggle").stop().slideUp();
        $(this).find(".open-tur-toggle").stop().removeClass("fa-chevron-up").addClass("fa-chevron-down");
    }
);

$('.tur-list-toggle ul li a').hover(
    function(e) {
      e.preventDefault();  
      var getAttr = $(this).attr("data-img");
      $(this).parents(".tur-list-box").find("figure img").attr("src",getAttr);
    },
    function(e) {

    }
);
</script>

and I want to share with you demo link to see how to work

顺便说一句,如果您在检查元素上看不到 data-src,请尝试检查源代码(对于 chrome,请按 ctrl+U)

【问题讨论】:

标签: javascript jquery html css jquery-lazyload


【解决方案1】:
 $(this).attr("data-src") 

您可以查看此链接以获取更多信息How to get the data-id attribute?

【讨论】:

  • 尝试给你的图片一个 id,然后 $("#ifOfTheImage").data('src');
  • 我知道如何获取 id 但我只想获取 data-src 属性的值,如果我将 attr 替换为 data 没有任何变化
  • 我应该给所有图片一个 id 或 class 吗?
  • id和class都可以获取,如果是动态添加的图片请查看stackoverflow.com/questions/17857880/…
  • $(this).find("figure img").data(".lazy") data() 里面的 .lazy 是什么?
【解决方案2】:

$(selector).data("src") 将获取 data-src 属性的值

https://api.jquery.com/data/

【讨论】:

    【解决方案3】:

    您可以尝试使用以下行:

    var getDefaultImg = $(this).find("figure img").data("src");
    

    更多关于数据功能在这里:https://api.jquery.com/data/

    【讨论】:

      【解决方案4】:

      您实际上想要获取src 而不是data-src 属性以便在悬停后找到图像的来源,正如您的代码所示,所以它是var getDefaultImg = $(this).find("figure img").attr("src");

      这是因为您使用的延迟加载图像插件在图像加载完成时将data-src 替换为src

      例如(取自plugin's demo

      <!--image 6 load is complete-->    
      <img class="lazy img-responsive" src="images/6.jpg?t=1477297898" style="display: block;">
      
      <!--image 7 not loaded yet-->
      <img class="lazy img-responsive" data-src="images/7.jpg?t=1477297898" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==">
      

      【讨论】:

      • 但是如果我得到 src 它会给我另一个图像?顺便说一句,我在框的底部有链接项目,如果悬停任何链接,图像会与相关图像发生变化
      • 查看我写的这个演示,这就是我的建议:codepen.io/8odoros/pen/zKZLyL
      • 不,我明白,但我必须获取 data-src 而不是 src。因为 src 有 placeholder.png 如果我 hover.off 我的主图像必须是默认图像
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 1970-01-01
      • 2020-12-27
      • 2011-07-15
      • 1970-01-01
      相关资源
      最近更新 更多