2011-09-16 9 views
1

訪問者が< IE9を使用している場合は、ボックス内の特定の要素をラップしようとしていますので、すべてのブラウザにボックスシャドウを適用できます。jQuery - >選択した要素をHTMLに

残念ながら、私はそれを行う方法を非常にうまくいかない。選択した要素をHTMLに戻す方法を誰かが知っていますか?

<script> 
    $(document).ready(function() { 
     $('img').each(function() { 
      var img = $(this).clone(); 
      var html = '<div class="bounding">'+$(img)+'</div>'; 
      $(this).replaceWith(html); 
     }); 
    }); 
</script> 

スクリプトは[object Object]を出力しています。基本的にinnerHTMLなので.html()は機能しません。これを実現するjQuery関数はありますか?

答えて

5

だけ.wrap

$('img').wrap('<div class="bounding" />');   

例を使用する - http://jsfiddle.net/BTJmn/

+0

+1。私にそれを打つ!そのような遅い移動のpython ... – Shef

+0

我々はすべて同じ考えを持っているように見えるので、最初の+1です! – Fenton

1

jQueryの機能wrap()を使用してみてください。

<script> 
    $(document).ready(function() { 
     $('img').wrap('<div class="bounding" />'); 
    }); 
</script> 
2

てみ

$(document).ready(function() { 
    $('img').wrap('<div class="bounding" />'); 
}); 
2

素晴らしいニュースは、jQueryのでみんながこのような状況を考えて、あなたはこのようにそれを使用wrap

を作成したことである:

$('img').wrap('<div class="bounding" />'); 
0

私の理解を既存の要素を他の要素にラップしたいということです。 jQueryの便利なメソッドがあります:wrap()

だから、あなたのコードは次のようになります。

<script> 
$(document).ready(function() { 
    $('img').wrap('<div class="bounding" />'); 
}); 
</script>