jQuery.attr()在谷歌Chrome和IE上运行良好,但在Firefox 8.0.1上失败

phr*_*ron 8 firefox jquery firebug jquery-selectors jplayer

我正面临着Firefox 8.0.1的奇怪行为:这段代码在谷歌Chrome和IE中运行良好,但在Firefox上它失败,除非我在"调试模式_一步一步"运行它或者我放了一个在我设置属性"rel"的行之后发出警报...

// some stuff before
// this piece of code works fine excepts on FF
        totaltracks = data.length;
    j=0;
    while(j<totaltracks){
        newtrack =data[j];
        myPlaylist.add(newtrack);
        tracks = $("a.jp-playlist-item");
        curtrack =  $("a.jp-playlist-item")[j];
        $(curtrack).attr({rel:j});
        // I tried too : $("a.jp-playlist-item")[j].attr("rel",j); with same no effect on FF
        j++;            
    }    
Run Code Online (Sandbox Code Playgroud)

似乎FF只是不照顾指令(或跳转它)如果没有一步一步完成...面对这面墙2天过去...任何帮助/线索/技巧将不胜感激

kon*_*tur 0

您正在将 jQuery 对象保存在变量中;

curtrack =  $("a.jp-playlist-item")[j];
Run Code Online (Sandbox Code Playgroud)

但是然后你尝试通过包装它 $( ) 来使该变量成为 jQuery 对象

$(curtrack).attr({rel:j});
Run Code Online (Sandbox Code Playgroud)

尝试 curtrack.attr("rel", j);