获取并设置单个宽度元素

时间:2011-06-11 17:18:49

标签: jquery

由于IE7不支持CSS宽度:auto;宽度:100%;或宽度:继承;在span标签上我需要用jQuery来设置这个宽度。

那么如何将span class =“center_bg”设置为与其最近的span class =“text”相同的宽度

我尝试了下面的代码,但它在每个循环中的每个span class =“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

1 个答案:

答案 0 :(得分:1)

  1. 默认情况下,span元素 display:inline元素。
  2. display:inline元素依据 定义没有专门的盒子 - 它 而是个人的集合 字形框能够包裹多个 线。因此,内联的宽度和高度未定义。
  3. 尝试定义它,它应该有效:

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