比如说
<ul id="ul">
<li data-id="1"></li>
<li data-id="2"></li>
<li data-id="3"></li>
</ul>
如何获取将所有data-id弄成一个集合(比如数组)?
我是想实现判断出data-id中的最大值,我的想法是把data-id弄成一个集合,在比较,是否有更好的想法?
比如说
<ul id="ul">
<li data-id="1"></li>
<li data-id="2"></li>
<li data-id="3"></li>
</ul>
如何获取将所有data-id弄成一个集合(比如数组)?
我是想实现判断出data-id中的最大值,我的想法是把data-id弄成一个集合,在比较,是否有更好的想法?
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
我最初想的是能不能
$("#ul").find("*").data("id")
直接取得。可惜.data()
是jQuery中不多见的不能用于集合元素的方法。对一个jQuery集合调用.data()
结果是只对第一个元素生效。所以这个需求就必须明确使用jQuery里集合遍历的相关方法了。其实也很简单:
.map()
方法忽略所有的undefined,因此不用对不包含data-id
属性的子元素做出任何特殊处理。