请看下面的代码:
$(".head img").hover(function(){
var id = $(this).attr('id');
$(this).attr("src","images/"+id+"_hover.gif");
},function(){
var id = $(this).attr('id');
$(this).attr("src","images/"+id+".gif");
})
如果我不使用“id”,只需使用“this.indexof()”之类的东西。 下面的代码是错误的,但我想让你知道我的意思:
$(".head .fl_r img").hover(function(){
$(this).attr("src","images/"+this.indexof(in array())+"_hover.gif");
},function(){
$(this).attr("src","images/"+this.indexof(in array())+".gif");
})
我怎么能在jquery中做到这一点?
答案 0 :(得分:2)
是的,这是.index()
方法:
如果没有向.index()方法传递参数,则返回值是一个整数,表示jQuery对象中第一个元素的位置 相对于它的兄弟元素。
将其用作$(this).attr("src","images/" + $(this).index() + "_hover.gif");
答案 1 :(得分:1)
我会调查the jQuery .each
method,因为它提供了索引。
$(".head img").each(function(index, element) {
element.hover(
function() {
$(this).attr("src","images/"+index+"_hover.gif");
},
function() {
$(this).attr("src","images/"+index+".gif");
}
);
});
答案 2 :(得分:0)
indexOf()可用于字符串对象。
如果你想通过jquery在attr上使用它,你应该试试这个:
$(this).attr("src").indexOf("needle");