2011-06-11 47 views
0

由於IE7不支持CSS寬度:auto;寬度:100%;或寬度:繼承;在span標籤上,我需要使用jQuery獲取並設置此寬度。獲取並設置單個寬度元素

所以,我怎樣才能設置跨度類=「center_bg」,以相同的寬度,它最近的跨度類=「文本」

我嘗試下面的代碼,但它applys每個跨度類相同的寬度=」每個循環直到「center_bg」元素。

jQuery('.ul li span.menu_text').each(function(i) { 
    var spanWidth = jQuery(this).width(); 
    jQuery("span.center_bg").width(spanWidth); 
}) 

<ul> 
    <li> 
    <a> 
     <span class="left_bg"></span> 
     <span class="right_bg"></span> 
     <span class="center_bg"></span> 
     <span class="text"></span> 
    <a/> 
</li> 
<li> 
    <a> 
    <span class="left_bg"></span> 
    <span class="right_bg"></span> 
    <span class="center_bg"></span> 
    <span class="text"></span> 
    <a/> 
</li> 
</ul 
+2

是什麼的'span's的CSS?沒有瀏覽器應該支持內聯元素的'width'設置。這不是IE7特有的問題,但是通過設計 - 您必須使用塊或內嵌塊元素 – 2011-06-11 17:24:28

+0

使用跨度中的顯示塊並向左浮動。或者改變它們的div。 +1 Pekka的評論。 -1你的方法。 – addedlovely 2011-06-11 17:34:43

+0

你有你想要這樣看的圖像嗎?你的方法在這裏是更大的問題。 – wdm 2011-06-11 19:13:08

回答

1
  1. span元件是通過默認 display:inline元件。
  2. display:inline元素通過 定義中沒有專用的盒子 - 它 是相當的能在多個包裹 行個人 字形箱收集。因此內聯的寬度和高度是不確定的。

嘗試定義這一點,它應該工作:

.ul li span { display:inline-block; } 
+0

我不認爲IE7支持顯示:inline-block; – wdm 2011-06-11 19:07:35