2011-09-16 99 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].html()不起作用,因爲這基本上是innerHTML。有沒有實現這一點的jQuery功能?

回答

5

只需使用.wrap

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

示例 - http://jsfiddle.net/BTJmn/

+0

+1。擊敗我!這樣一個緩慢移動的蟒蛇... – 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>