我有一个使用Jquery UI Sortable的列表。每个列表项都有一个特殊的data-itemid值,它是一个唯一的数字。用户可以将项目添加到此列表,然后对其进行排序。我想找到data-itemid属性的最大值,无论它们在列表中的位置如何。
在实现Sortable之前,我可以使用来获取last-child的值,$('li:last-child').data('itemid')
但是在集成了排序功能之后,last- child可能没有最大值。
我的代码如下:
的HTML
<ul id='sortable'>
<li data-itemid='1'>One</li>
<li data-itemid='2'>Two</li>
</ul>
Java脚本
$(document).ready(function(){
maxItemId = $('li:last-child').data('itemid');
alert('Max Item Id is: ' + maxItemId);
});
我以为我可以遍历每个li项,然后查找具有最大ID的项,我希望有一个更好的替代方案。
像这样的事情应该做的工作:
var max = 0;
$('#sortable li').each(function(){
var val = $(this).data('itemid');
if(val > max) max = val;
});
alert(max);
另一个想法是在修改后检查,如果最后一个元素更大,并且用户在列表的和中添加了新元素,则只需检查这两个元素即可:
var max = $('li:last-child').prev().data('itemid');
var lastValue = $('li:last-child').data('itemid');
if(lastValue > max) max = lastValue;
alert(max);
但是,如果您没有很多<li>
检查的地方,我建议您第一个更安全,更轻松的检查。
希望这可以帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句