每次触发此事件时,我都会尝试增加所选invoiceLine元素的索引。我想知道是否有人可以告诉我一个简单的方法来做到这一点,如果它是可能的,因为我是JQuery的新手,并且我真的很难用这个。
$invoiceLine.find('input').change(function(){
$(this).parent().parent().next().find('div input').removeAttr('disabled');
});
答案 0 :(得分:0)
如果通过索引表示元素在其兄弟节点中的位置,则可以使用许多jQuery方法轻松移动元素,例如: after(),before(),insertAfter(),insertBefore(),append(),appendTo()等。 这是一个简单的例子:
HTML:
<div class="invoiceLine">
1 <input />
</div>
<div class="invoiceLine">
2 <input />
</div>
<div class="invoiceLine">
3 <input />
</div>
JS:
$('.invoiceLine').find('input').change(function() {
var line = $(this).closest('.invoiceLine'); // find enclosing invoiceLine
var next = line.next(); // find next invoiceLine
if (next.length) // check that current line is not last
line.insertAfter(next); // insert current line after the next one
});