0

<img>外部jsファイルを介して、すべてをそれ自体(ファイル)へのリンクに変換したいと考えています。

私の考えたプロセスは、すべての img 要素をターゲットにしてから、画像の src を取得し、それへのリンクを img 要素の周りに配置できるというものでした。例えば:

これを回す:

<img width="281" vspace="7" hspace="5" height="215" align="left" alt="img1" src="cits/images/image001.jpg"></img>

これに:

<a href="cits/images/image001.jpg" target="_blank"> <img width="281" vspace="7" hspace="5" height="215" align="left" alt="img1" src="cits/images/image001.jpg"></img> </a>

img要素を見つけるだけでなく、変数としてimg srcを取得できるように見えますが、imgの周りにリンクを追加する方法がわかりません。

4

3 に答える 3

3

すべての画像を取得します。

var images = document.getElementsByTagName('img');

古い画像を含む画像の属性をouterHTML指すリンクを含む、画像の を新しいマークアップに置き換える関数を作成します。srcouterHTML

function makeLink(image){
    image.outerHTML = '<a target="_blank" href="' + image.src + '">' + image.outerHTML + '</a>';
}

画像をループして、それぞれをmakeLink関数に送信します。

for(var i = 0, l = images.length; i < l; ++i){
    makeLink(images[i]);
};
于 2013-02-26T16:33:57.470 に答える
2

jQueryを使用している場合に備えて

$('img').each(function(ix, image){
  $(image).wrap('<a target="_blank" href="' + $(image).attr('src') + '"></a>');
})
于 2013-02-26T16:32:23.213 に答える
1

を使用する場合jQuery、コードは非常に単純です。

$("img").each(function () {
    $(this).wrap($("<a target='_blank'/>").attr("href", $(this).attr("src"));
});

それ以外の場合は、生のソリューションを調べる必要がありますがJavaScript、これはもう少し複雑です。@Barneyの回答を参照してください。

于 2013-02-26T16:34:17.950 に答える