【问题标题】:Changing class of linked image if it has been visited using jQuery如果已使用 jQuery 访问,则更改链接图像的类别
【发布时间】:2023-03-08 04:13:01
【问题描述】:

我有一系列使用 jQuery 链接的翻转图像。单击链接后,我希望将翻转图像的类别从“翻转”更改为“翻转2”,以便获得一组不同的图像。这是翻转图像的 jQuery:

$(document).ready(function() {
$("img.rollover").hover( 
function() { this.src = this.src.replace("_off", "_on"); 
}, 
function() { this.src = this.src.replace("_on", "_off"); 
});
$("img.rollover2").hover( 
function() { this.src = this.src.replace("_off2", "_on2"); 
}, 
function() { this.src = this.src.replace("_on2", "_off2"); 
});
});

这是链接图像的代码:

<a href="Mod1/index.html" target="_blank">
<img src="images/watch_off.png" class="rollover" />
</a>

初始翻转效果很好,但我试图使用来自here 的访问链接插件来触发将任何链接图像的类名更改为“翻转2”:

<script src="js/jquery.visited.js"  type="text/javascript"></script>
<script type="text/javascript">
$('#links a').visited(function () {
  // hides the li element
  $(this).img.removeClass("rollover");
  $(this).img.addClass("rollover2");
});
</script>

这似乎不起作用。你们中的任何人都可以帮助我解决这个问题吗?

【问题讨论】:

    标签: jquery image class rollover visited


    【解决方案1】:

    你可以使用find()方法,试试这个:

    $('#links a').visited(function () {
      $(this).find('img').removeClass("rollover");
      $(this).find('img').addClass("rollover2");
    });
    

    【讨论】:

    • 运气不好。我想知道是否有比使用 jQuery 访问插件更好的方法来更改访问链接的类别。我注意到插件的演示似乎对我不起作用。
    • 为什么不用css :visited选择器?
    • 我该怎么做呢?我不能在 css 中放置条件,对吧?
    【解决方案2】:

    这应该可行,

    $(this).find('img').removeClass("rollover");
    $(this).find('img').addClass("rollover2");
    

    或更好,

     $(this).find('img').removeClass("rollover").addClass('rollover2');
    

    【讨论】:

      猜你喜欢
      • 2019-11-11
      • 2012-04-27
      • 1970-01-01
      • 2013-08-18
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多