2012-02-20 16 views
3

これは非常にシンプルですが、私はそれを解決できません(私はデザイナーです)。イメージのsrc値からhref値を取り込む方法は?

<a>タグのhref属性値に<img>タグのsrc属性の値を入力するだけです。したがって、画像は基本的にそれ自体にリンクしています。

イメージsrcはスーパーシンプルCMSによって更新され、URLを更新する必要はなく、リンクを動的に更新します。

私はこれを試しましたが、うまくいきませんでした。

<a rel="lightbox[job1]" href="()document.getElementById("gal1_img1").src"> 
<img id="gal1_img1" src="images/gallery/job1/image-1.jpg">`enter code here` 
</a> 

答えて

8

現在の方法でJavaScriptの内部属性をインライン化することはできません。これを行うには、ページにスクリプトを追加することができます

<a id="link" rel="lightbox[job1]" href="#"> 
<img id="gal1_img1" src="images/gallery/job1/image-1.jpg">`enter code here` 
</a> 

<script> 
document.getElementById("link").href = document.getElementById("gal1_img1").src; 
</script> 
+0

あなたの回答をいただきありがとうございます。私はこの作品をそれぞれ独自のリンクが付いた複数の画像にもどのように作成しますか?基本的に要素 "link"は、そのタグ内のimg srcの値と常に等しくなります。 – drewD83

+0

@ drewD83:その場合、Marcのソリューションが有効です。 – casablanca

5

はあなた<a>さんのhrefとしてこれを試してみてください。

href="javascript:window.location=this.getElementsByTagName('img')[0].src;" 

これら<a>タグの内側だけで、これまで一つの画像がありますと仮定すると、これがために働く必要があります誰もjavascriptを無効にして実行していない。

+1

+1この問題を解決する別の方法です。 – casablanca

+0

あなたのお返事ありがとうございますMarc B ...私はそれがhref属性でJavascriptのインラインを好きだとは思いません....私は同じ問題を抱えていましたか?私はそれが何とか働くことができることを知っている?? – drewD83

+0

ライトボックスで使用しているJScriptとの競合が考えられました。動作しないためです。しかし、それらのJSファイルへのリンクを削除しても、何も得られません。 '[0]'とは何ですか? – drewD83

0

これを試してください。

var att = $('#gal1_img1').attr('src'); 
$("a[rel*='lightbox[job1]']").attr('href',att); 
+0

OPはjQueryについて語りません –

関連する問題