jquery - 我正在尝试使用 jQuery 更改背景图像,它可以在我的本地机器上使用,但不能用于在线服务

标签 jquery css replace

我正在尝试更改 DIV 中的背景图像,想法是在鼠标悬停时将静态图像 .png 更改为 .gif,我不知道为什么它在我的机器上使用 MAMP 工作,但是当我将我的服务器放在 Hostgator 中时,我的代码不起作用,控制台中出现的错误是:TypeError: undefined is not an object (evaluating 'background.replace')

我的 html 是:

<ul class="items"  id="lista1">

            <li>
            <div class="bg-img" id="featured" id="featured" style="background-image: url('img/thumbs/tb_nesfit.png');">
              <div class="bgshadow_thumb" id="fshadow"></div>
              <div class="text-thumb">
                <div class="bottom">Cookies Nesfit</div>
              </div>
            </div>

            <a href="project.php?job=nesfit-cookies">
              <div class="content">
                <div class="content-info">
                  <button class="ico"><i class="fa fa-play"></i></button>
                  <h2>Cookies Nesfit</h2>
                  <h3><span class="category">Animação, Simulação</span> | 2018</h3>
                </div>
                <div class="content-buttons">
                  <button class="ico"><i class="far fa-heart"></i></button>
                  <button class="ico"><i class="far fa-clock"></i></button>
                  <button class="ico"><i class="fa fa-ellipsis-h"></i></button>
                </div>
              </div>
            </a>
          </li>
</ul>

我的 jquery 是:

$('li').mouseover(function() {

      var background = $(this).find("div#featured").css('background-image');
      background = background.replace('.png','.gif');
      $(this).find("div#featured").css('background-image', background);


           //var background = $(this).find("div#featured").css('background-image');
           //background = background.replace('.png','.gif');
           //$(this).find("#featured").css('background-image', background);

       });

我在这个 div 上方有一个带阴影的层,所以我将 mouseouver 放在

  • 但我想更改 DIV id = "Featured"我的背景图像在哪里是。

    JSFiddle 我的代码:

    https://jsfiddle.net/theangelis/dL86r7nt/1/?utm_source=website&utm_medium=embed&utm_campaign=dL86r7nt

  • 最佳答案

    $(this).css('background-image', 'url(/images/client_box_grad.gif)');

    您应该确保您指定了一个有效的图片 url。

    关于jquery - 我正在尝试使用 jQuery 更改背景图像,它可以在我的本地机器上使用,但不能用于在线服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54359148/

    相关文章:

    jquery - 从文本区域中删除 jquery elastic

    jquery-ui - jQuery 对服务器的压力有多大?

    javascript - 将数组格式化为新数组

    string - 用 Velocity 模板语言替换字符串的子串

    jquery - 特定类列表的第 n 个 child

    Javascript/CSS 灯箱仅适用于第一个元素?

    javascript - 根据条件改变列表元素的颜色

    javascript - 在 Bootstrap 模式中显示 sumoselect

    javascript 方法替换未按预期工作

    windows - Web Deploy (MSDeploy) 3.6 替换规则重命名文件