1

好的,所以我试图根据它们的标题在悬停时更改 5 个图像。我有一个代码,它部分有效,我相信我写得不正确。所以我要发布两次尝试,希望有人能理解我想要做什么。

$(document).ready(function() { 
var found = $('.user-basic-info img'); 
 found.filter('[src="http://i13.servimg.com/u/f13/17/83/35/07/adminn10.png"]')
  .hover(function(){
 $(this).closest('img').replaceWith('<img alt="" src="http://i13.servimg.com/u/f13/17/83/35/07/adming10.png"/>');
 });
});



$(document).ready(function() { 
var found = $('.user-basic-info img'); 
 found.filter('[src="http://i13.servimg.com/u/f13/17/83/35/07/adminn10.png"]')
  .hover(function(){
 $(this).closest('img').onMouseEnter('<img alt="" src="http://i13.servimg.com/u/f13/17/83/35/07/adming10.png"/>').onMouseOut('<img alt="" src="http://i13.servimg.com/u/f13/17/83/35/07/adminn10.png"/>');
 });
}); //this code works partly as well, I just get no method of onMouseEnter

第一次使用悬停效果来回更改图像。我还需要能够使它与其他 5 个图像兼容,所以我必须为每个“src”或者更确切地说是标题有变量

为了澄清一个问题,.filter我们可以对标题做同样的事情吗?就像这样[title="Founder"]只是想知道因为上面(关于变量)我想知道我是否可以写......

var a = $('.user-basic-info img').filter('[title="Founder"]');

var b = $('.user-basic-info img').filter('[title="Founder"]');

就是想

我现在使用的代码::

$(function(){
var a = $('.user-basic-info img[title=Founder]');
var b = $('.user-basic-info img[title=Manager]');
var c = $('.user-basic-info img[title=Members]');
var d = $('.user-basic-info img[title=Technician]');
var e = $('.user-basic-info img[title=Moderator]');
var f = $('.user-basic-info img[title=Presidential]');
  $(div.post).hover(function() {
 a.attr('src','http://i13.servimg.com/u/f13/17/83/35/07/adming10.png');
  },
function() {
  a.attr('src','http://i13.servimg.com/u/f13/17/83/35/07/adminn10.png');
 });
});
4

3 回答 3

2

你可以试试这个:

$(document).ready(function() { 
    $('.user-basic-info img[title=Founder]').hover(
        function() {
            $(this).attr('src', "http://i13.servimg.com/u/f13/17/83/35/07/adming10.png"​);
        },
        function() {
            $(this).attr('src', "http://i13.servimg.com/u/f13/17/83/35/07/adminn10.png");
        }
    );
});
于 2013-01-02T03:14:40.903 回答
1
<img class=".user-basic-info" title="Founder" src="http://i13.servimg.com/u/f13/17/83/35/07/adminn10.png">


$('.user-basic-info img[title=Founder]').hover(function() {
    $(this).attr('src','http://i13.servimg.com/u/f13/17/83/35/07/adming10.png');
},
function() {
    $(this).attr('src','http://i13.servimg.com/u/f13/17/83/35/07/adminn10.png');
});

这样的事情对你有用吗?

http://jsfiddle.net/Q6XMA/5/

于 2013-01-02T03:14:46.997 回答
1

closest('img')永远不会起作用,因为图像没有后代。从方法链中删除它:

$(this).replaceWith('<img alt="" src="http://i13.servimg.com/u/f13/17/83/35/07/adming10.png"/>');

如果您的最终目标是在悬停时切换 src 属性,只需这样做,而不是替换整个图像:

$(this).attr('src','http://i13.servimg.com/u/f13/17/83/35/07/adming10.png');

也可以按标题属性进行过滤。您发布的片段应该可以正常工作。

于 2013-01-02T03:06:33.223 回答