1

我正在使用 jQuery 在单击时显示图像。通过将图像的源存储到像这样的变量中,这可以很好地工作。

var theSrc = $(event.target).attr('src');

然后我可以将此图像放入一个 div 并显示它

var theImg = '<div class="wrap"><img src="'+imgSrc+'"></div>';

我想做的就是简单地将图像的源稍微更改为同一目录中的一个更大的文件,该文件通过在名称后面附加“Big”来更大

image.png

imageBig.png

这可能使用jQuery吗?

4

4 回答 4

6

您可以执行以下操作:

var theSrc = $(event.target).attr('src');
theSrc = theSrc.split(".")[0] + "Big." + thetheSrc.split(".")[1];
于 2013-07-01T01:08:46.053 回答
4

我只会使用.replace()- 它比.split()这种用途更简单:

var theSrc = $(event.target).attr('src').replace( '.png', 'Big.png' );

还有一个建议:我会the从你的变量名中消除噪音词。而不是theSrc,使用src. 而不是theImg,使用img. 这个词the根本不传达任何东西,并且在变量名中没有任何价值。它实际上具有负值,因为它是额外的阅读内容,不会为更简单的名称添加任何含义。

于 2013-07-01T01:16:16.373 回答
2

当然:

$("img").attr("src", "imageBig.png");

请参阅 JQuery 文档:http : //api.jquery.com/attr/#attr2 您可以使用多种风格的 attr。

要动态执行此操作,请参阅@tymeJV 的帖子,只要文件名中只有一个句点,该帖子就会起作用。

于 2013-07-01T01:07:12.777 回答
1

不使用 jQuery,但您可以使用 Javascript:

var temp = imgSrc.split('.');
var newSrc = temp[0]+'Big.'+temp[1];
于 2013-07-01T01:10:32.610 回答