2013-07-05 130 views
0

这可能看起来像一个奇怪的问题,但我还没有设法找到另一种方法来解决问题。我很抱歉,如果这很长时间,但我想尝试解释我正在尝试做什么!自动从<img>标签的src中获取<a>标签

基本上,我使用的灯箱显示点击它时的图像,将图像放大(这是什么呢灯箱..!)但是,这是工作的罚款,: 其实做的是什么收藏加载另一个形象 - 有用,所以你可以有两个文件,一个小(缩略图)和一个大。我甚至可以把相同的图像在两个位置,并使用CSS/HTML规模小的一个 - 因为我在这里 - 在相关部分的收藏夹代码如下:

<a href="image1.gif" rel="lightbox" title="Project one image"> 
<img src="image1.gif" width="200px" alt="small version of image" /></a> 

(我明白,这是最好有两个单独的文件加载时间等,但在这种情况下,这将无法正常工作)

但我遇到的问题是图像标记中的图像需要能够被改变(到一个完全不同的图像), 没有任何其他更改 - 所以没有更新灯箱链接的href。但是灯箱需要显示与图像标签相同的图像 - 因为它代表了img标签和标签都需要更改才能实现。 在这种情况下,不可能编辑标签 - 我将其设置为允许另一个(相当有技术恐惧的)人使用CushyCMS(内容编辑器)替换图像 - 这实际上只能提供改变图像本身,因为我不能依靠这个人也更新一个标签(这绝对不是一个选项!)

我需要知道的是,有没有办法使图像在标签中引用自动与img标签中提到的相同,无论这时候是什么时候?从研究到目前为止,我相信jquery/javascript将是这里的解决方案。
我试过修改一些其他我已经找到的JavaScript代码,但可能是由于我自己的无能,我一直无法使它工作。

如果有人有解决方案,将不胜感激,如果他们也可以为我白痴证明它,我已经成功地使用带有脚本标记完成的JavaScript,但除此之外,我已经没有成功!

感谢您的阅读时间和任何人可以提供的帮助!

+1

因此,TL; DR版本是采用'img'' src'属性并将其放入'a'' href'属性中? –

+0

我认为你的解决方案的重点可能在这里:“这实际上只能提供改变图像本身的能力”。你能保存新图像的旧文件名吗? – 2013-07-05 20:51:53

+0

卡尔安德烈 - 非常,是的,对不起:P 迈克 - 不,因为内容编辑器的工作方式,我将无法控制图像名称......如果我只是做了这么多的生活简单! –

回答

1

我仍然困惑这个问题,但我认为这就是你想要的。 img src属性可以从CMS更改,但不能更改为a。试试这个来解决它:

$(document).ready(function(){ 
    var $a = $('a[rel=lightbox]'); 
    $a.each(function(){ 
     $(this).attr('href', $(this).find('img').attr('src')); 
    }) 

}) 
+0

嗨卡尔 - 是的,没错,只有img属性可以改变。 a标签将在img标签之前直行,如示例中所示。我不应该在他们之间放置任何东西。 虽然我会在一些页面上显示多张图片,请问这仍然有效吗? 恐怕我真的不知道多少JavaScript,我会在哪里/如何把这些脚本? (对不起,这个愚蠢的问题:() 感谢您的帮助! –

+0

@RoxyWalsh您可以告诉我HTML的外观如何?http://pastebin.com/ –

+0

html几乎与我在我的视图中显示的一样第一篇文章,我做了一个空的页面来测试这个,我把这个页面的html放在了pastebin中 - http://pastebin.com/PuK0RWgM(我的实际页面的html很长,所以我是单独测试) –