Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在<;中自动获取href;a>;来自an的src的标记<;img>;标签_Javascript_Jquery_Lightbox - Fatal编程技术网

Javascript 在<;中自动获取href;a>;来自an的src的标记<;img>;标签

Javascript 在<;中自动获取href;a>;来自an的src的标记<;img>;标签,javascript,jquery,lightbox,Javascript,Jquery,Lightbox,一开始这似乎是一个奇怪的问题,但我还没有找到另一种方法来解决这个问题。抱歉,如果这是长篇大论,但我想尝试和解释确切地说我想做什么 基本上,我使用lightbox来显示图像,单击该图像时,图像会放大(lightbox就是这样做的!)这工作正常,但是: lightbox实际做的是加载另一个图像-非常有用,这样您可以有两个文件,一个小(缩略图)和一个大文件。我甚至可以在两个位置放置相同的图像,并使用CSS/html缩放小图像-正如我在这里所做的-相关的lightbox代码如下: <a href=

一开始这似乎是一个奇怪的问题,但我还没有找到另一种方法来解决这个问题。抱歉,如果这是长篇大论,但我想尝试和解释确切地说我想做什么

基本上,我使用lightbox来显示图像,单击该图像时,图像会放大(lightbox就是这样做的!)这工作正常,但是: lightbox实际做的是加载另一个图像-非常有用,这样您可以有两个文件,一个小(缩略图)和一个大文件。我甚至可以在两个位置放置相同的图像,并使用CSS/html缩放小图像-正如我在这里所做的-相关的lightbox代码如下:

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

(我知道最好有两个单独的文件用于加载时间等,但在这种情况下,这将不起作用)

但我遇到的问题是,图像标签中的图像需要能够更改(为完全不同的图像),而无需更改任何其他内容-因此无需更新lightbox链接的href。但是lightbox需要显示与图像标签所显示的图像相同的图像-就目前情况而言,img标签和标签都需要更改才能做到这一点。 在这种情况下,将不可能编辑a标签-我设置它是为了允许另一个(相当技术恐惧)的人使用CushyCMS(内容编辑器)替换图像-这实际上只提供了更改图像本身的能力,因为我不能依赖此人来更新a标签(这绝对不是一个选项!)

我需要知道的是,有没有一种方法可以使a标签中提到的图像自动与img标签中提到的图像相同,无论当时是什么?从目前的研究来看,我相信jquery/javascript将是这里的解决方案。
我曾尝试修改我发现的其他一些javascript代码,但可能是由于我自己的无能,我无法使其工作

如果有人有一个解决方案,如果他们也能为我证明这一点,我将不胜感激。我已经成功地使用了带有脚本标记的javascript,但除此之外,我几乎没有成功


感谢您花时间阅读,并感谢任何人提供的帮助

我仍然对这个问题感到困惑,但我认为这正是你想要的。
img
src属性可以从CMS更改,但不能从
a
更改。尝试以下方法来解决此问题:

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

})

因此,TL;DR版本是采用
img
src
属性并将其放入
a
href
属性?我认为您的解决方案的要点可能在这里:
这实际上只提供了更改图像本身的能力。你能用旧图像的文件名保存新图像吗?卡尔·安德烈-非常,是的,对不起:P迈克-不,因为内容编辑器的工作方式,我无法控制图像名称。。。如果我真的这样做了,生活就会简单多了!嗨,卡尔-是的,没错,只有img属性可以更改。a标记将位于img标记之前,如示例所示。我不需要在他们之间插任何东西。我将在一些页面上有多个图像,但这仍然有效吗?恐怕我真的一点javascript都不懂,我该把这些脚本放在哪里/怎么放?(为愚蠢的问题感到抱歉:()谢谢你的帮助!html与我在第一篇文章中展示的几乎相同。我已经制作了一个空页面来测试这个问题,我已经将这个页面的html放在了pastebin中-(我实际页面的html很长,所以我正在单独测试)@RoxyWalsh,正在查看fast,没有看到图像标签在
a
标签内,请使用“查找”而不是“下一步”(更改了我的答案)。太棒了!非常感谢您的帮助,效果非常好!:)我的编辑现在可以根据自己的心意更改图像,而无需我做任何更改!谢谢:)我刚刚在页面上试用了两个图像--一个图像效果很好,但在两个图像中,当单击第二个图像时,它会打开第一个图像的大版本,而不是第一个图像本身:-/