Javascript Jquery-如何为行中的每个元素增加top属性的值
我有一个表,它在Javascript Jquery-如何为行中的每个元素增加top属性的值,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个表,它在中的下拉列表的绝对位置上存在问题div.wrapper没有多大帮助,因为它破坏了布局。我通过增加top+=100找到了一个解决方案,但我不知道如何将每个元素的这个值一个接一个地增加相同的值 所以,我需要class=“services”id=“1”成为前100名;而id=“2”将成为top:200;。。。id=3:300px,id=4:400,等等 例如: <tr data-id="1"> <td><i class="expand"><
中的下拉列表的绝对位置上存在问题div.wrapper
没有多大帮助,因为它破坏了布局。我通过增加top+=100找到了一个解决方案,但我不知道如何将每个元素的这个值一个接一个地增加相同的值
所以,我需要class=“services”id=“1”成为前100名;而id=“2”将成为top:200;。。。id=3:300px,id=4:400,等等
例如:
<tr data-id="1">
<td><i class="expand"></i>First</td>
<td>something</td>
<td>something</td>
<div class="services" id="1">
<div class="tr">
<div class="td">Service ID 1</div>
<div class="td">bla-bla-bla</div>
</div>
</div>
</tr>
<tr data-id="2">
<td><i class="expand"></i>Second</td>
<td>something</td>
<td>something</td>
<div class="services" id="2">
<div class="tr">
<div class="td">Service ID 2</div>
<div class="td">bla-bla-bla</div>
</div>
</div>
</tr>
.services{
display: table;
position: absolute;
top: 100px;
}
您可以尝试选择页面中的所有服务(前提是它们都尊重您文章中提供的结构): 您也可以尝试:
$('.services').each(function(index, elm) {
$(elm).css({top: (100 * index) + 'px' });
});
您还可以调整当前代码:
var row = $('tbody').find('tr');
row.each(function(i){
$(this).css({top: (100 * i) + 'px' });
});
希望能有帮助
$('.services').each(function(index, elm) {
$(elm).css({top: (100 * index) + 'px' });
});
var row = $('tbody').find('tr');
row.each(function(i){
$(this).css({top: (100 * i) + 'px' });
});