1

我想设置li它自己的每个宽度a。这是我正在尝试的代码:

if($('ul').length()) { 
    $('ul li').each(function() {
        $(this).children('a').each(function() {
            var width2 = $(this).style.width();
            $('ul li').style.width = width2;
            $(this).text(width2);
        });
    });
}

HTML:

<ul>
    <li class="home"><a href="#">Home</a></li>
    <li class="about-me"><a href="#">About</a></li>
    <li class="portfolio"><a href="#">Realizations</a></li>
    <li class="contact"><a href="#">Contact</a></li>
</ul>

我究竟做错了什么?

4

2 回答 2

0

这是更新的 jsBin

在 jQuery 中,您可以使用 访问样式属性.css("attribute"),并使用 更新.css("attribute","value")。另外,你可以说$("ul").length,不需要().

最后结果:

if($('ul').length) { 
   $('ul li').each(function() {
      $(this).children('a').each(function() {
         var width2 = $(this).css("width");
         $('ul li').css("width",width2);

      });
   });
 }
于 2013-02-16T21:23:21.960 回答
0
var width;
$('ul li a').each(function() {
  width = $(this).css('width');
  $(this).parent('li').css('width', width);
});

它选择所有a元素,获取宽度并设置为父li元素

于 2013-02-16T21:24:11.270 回答