我正尝试在中间的三列行中添加边框。这一点:
var subcount = $j('#sub > div').size();得到6,而我正在尝试如何将样式应用于中间的div?(在本例中为div 2和div 5)
<div id="sub">
<div>div 1</div> <div>div 2</div> <div>div3</div>
<div>div 4</div> <div>div 5</div> <div>div6</div>
</div>有没有一种方法可以基于div #而不是id呢?就像,某种foreach循环之类的?
发布于 2009-10-07 16:01:22
有很多方法可以做到这一点。这取决于您的数据是如何构造的。如果只有6列,则使用暴力方式:
$("#sub > div:nth-child(2), #sub > div:nth-child(5)").css("border", "1px solid black");您还可以将等式与:nth-child一起使用
$("#sub > div:nth-child(3n+2)").css("border", "1px solid black");发布于 2009-10-07 16:09:25
如果这些确实是列,那么您最好使用真正的表,因为它更适合于表格数据。您还没有标记您的行,这使得选择列变得困难。一种方法是这样做:
var n = 1;
$('#sub > div').filter(function() { return n++ % 3 == 2 });发布于 2009-10-07 16:11:52
我建议你在后面的代码中添加一些类,然后应用一个类选择器。或者,更好地说,是css样式。
如果你必须使用jQuery,cletus解决方案就是你想要的。
https://stackoverflow.com/questions/1532542
复制相似问题