获取并设置单个宽度元素

获取并设置单个宽度元素

问题描述:

由于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. span元件是通过默认 display:inline元件。
  2. display:inline元素通过 定义中没有专用的盒子 - 它 是相当的能在多个包裹 行个人 字形箱收集。因此内联的宽度和高度是不确定的。

尝试定义这一点,它应该工作:

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

我不认为IE7支持显示:inline-block; – wdm 2011-06-11 19:07:35