查找并替换jquery

我有这个代码给我一个关于提交按钮的翻转,我试图让它更通用:

$('.rollover').hover( function(){ // Change the input image's source when we "roll on" srcPath = $(this).attr("src"); srcPathOver = ??????? /*need to manipulate srcPath to change from img/content/go-button.gif into img/content/go-button-over.gif */ $(this).attr({ src : srcPathOver}); }, function(){ // Change the input image's source back to the default on "roll off" $(this).attr({ src : srcPath}); } ); 

真的有两件事,

我想学习如何操纵srcPath变量将文本’-over’附加到gif文件名,为翻转提供新图像。 有谁能建议这样做的方法?

此外,有人可以告诉我这个代码是否可以完善? 我对jQuery有点新意,并想知道语法是否可以改进。

非常感谢。

 $('.rollover').hover( function(){ // Change the input image's source when we "roll on" var t = $(this); t.attr('src',t.attr('src').replace(/([^.]*)\.(.*)/, "$1-over.$2")); }, function(){ var t= $(this); t.attr('src',t.attr('src').replace('-over','')); } ); 

要操作文件名并附加“-over”,您只需执行一些Javascript字符串操作,如下所示:

 function appendOver(srcPath){ var index = s.indexOf('.'); var before = s.substr(0, index); var after = s.substr(index); return before + "-over" + after; } 

这应返回原始文件名(以所有可能的格式)并在扩展点之前添加“-over”字符串。

您应该能够使用正则表达式替换来修改源路径。 像这样:

 srcPathOver = srcPath.replace(/([^.]*)\.(.*)/, "$1-over.$2"); 

有关JavaScript regex的更多信息,请点击此处

至于你是怎么做的,我会确保你像这样定义你的srcPath变量

 var srcPath; $('.rollover').hover(... 

你上面的代码使它看起来像srcPath是一个全局变量,这不是你想要的。