0

次の問題があります。私は大量のコンテンツを手作業で移動しており、画像を挿入するときに、ライトボックスクラスをタグに配置しました-残念ながら、画像が正しく機能するためには、画像の周りにアンカーが必要で、URLをフル画像サイズに指定します-例えば

<a href="images/myimage.jpg" class="lightbox"><img src="images/myimage.jpg"></a>

私が今持っているのは:

<img src="images/myimage.jpg" class="lightbox">

特定の要素内にあるすべての画像の周りに自動的にアンカーを設定し、<div>それを適切に閉じることは可能ですか?私は次のようなものが必要になります

<div>付加<a href="this.image.src">および付加のforeach画像</a>

PHPまたはjQueryのソリューションをいただければ幸いです。

4

4 に答える 4

4

jQueryの.wrap()メソッドを使用できます:

$('div img').each(function(){
    $(this).wrap('<a href="'+this.src+'" class="lightbox"></a>');
});

デモ: http://jsfiddle.net/bztvw/

于 2013-02-22T17:18:55.563 に答える
1

jQueryを使用すると.wrap()

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

これらの画像のコンテナー div を指定すると、それらの画像のみがラップされます。このようなもの:

$.each($('#lighboximgwrapper img'), function(){
    $(this).wrap('<a href="'+$(this).attr('src')+'" class="lightbox"></a>')
 });
于 2013-02-22T17:19:45.933 に答える
0

個人的には、ソースを生成するコードを修正します。IDE で正規表現の検索/置換を使用して、ソースを修正するだけです。この間違いを「修正」するために、JavaScript や PHP のハックに頼らないでください。

于 2013-02-22T17:44:10.680 に答える
0

正規表現を使用

パターン:

<img(.*)src="([\w\/\.]+)"(.*)>

と置換する:

<a href="$2" rel="fancybox"><img src="$2" alt="" /></a>

preg_replace PHP 関数

于 2013-02-22T17:20:32.377 に答える