0
       <div class="newstitle">
            <ul class="newstitle">
                @foreach (var item in Model.Content)
                {
                    if (item.Value != null)
                    { 
                     <li>
                            <div class="newstitle_title">@item.Key.Name</div>
                        </li>
                    }
                }
           </ul> 
  </div>

 <script type="text/javascript">
  $(document).ready(function () {
     $('.newstitle li:nth-child(odd)').addClass('last');
 });
 </script>

我有这段代码,我一直在尝试运行,但它破坏了 css。
损坏的 CSS

但是,应该是这样的,请看图片之间的间距:
在此处输入图像描述

我怎样才能解决这个问题?如果你看到 div 和 ul 都有相同的类名。

生成的 html 应该是这样的:

<div class="newstitle">
    <ul class="newstitle">
        <li>image</li>
        <li>image</li>
        <li>image</li>
        <li class="last">image</li>
        <li>image</li>
        <li>image</li>
        <li>image</li>
        <li class="last">image</li>
        <li>image</li>
        <li>image</li>
        <li>image</li>
        <li class="last">image</li>
    </ul>
    </div>

这是CSS:

.newstitle  {width:600px;overflow:hidden;margin:15px auto;}
.newstitle li {float:left;width:140px;height:170px;overflow:hidden;margin:0px 13px 0px 0px;display:inline;position:relative;}
.newstitle .last {float:left;width:140px;height:170px;overflow:hidden;margin:0px 0px 0px 0px;display:inline;position:relative;}
4

2 回答 2

2

试试这个 :

$('li', 'ul.newstitle').filter(function() {return $(this).index()%4===0}).addClass('last');

小提琴

于 2012-05-08T02:22:11.433 回答
1

这样的事情怎么样

<script type="text/javascript">
    $(document).ready(function () {
        var $li = $('ul.newstitle li'),
            y = 0;
        for (var i=0, n = $li.length; i < n; i++) {
          if ( y++ === 3 ) {
              $($li[i]).addClass("last");
              y = 0;
          }
        }
    });
</script>

希望它有帮助

于 2012-05-08T02:45:31.737 回答