在jquery中有像indexof()这样的方法吗?或者怎么做?

时间:2011-12-19 07:52:14

标签: javascript jquery html css

请看下面的代码:

$(".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中做到这一点?

3 个答案:

答案 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");

更多信息:
JavaScript indexOf()
jQuery attr()