我是新来的,我想问一个关于jQuery的问题。
我有一个无序列表,如:
<ul id="pages">
<li id="number1">
<a href="#">contains sub table a</a>
</li>
<li id="number2">
<a href="#">contains sub table b</a>
</li>
<li id="number3">
<a href="#">contains sub table c</a>
</li>
<li id="number4">
<a href="#">contains sub table d</a>
</li>
</ul>
我想向此<ul>
中显示的每个li添加一个不同的ID(这些ID中新的ID将是相同的,但是按照我的要求将其改组)(例如
<li id="number3"><a href="#">contains sub table d</a></li>
...)
有没有一种方法可以通过jQuery实现呢?
我使用for循环和此对象尝试了它,但是当我尝试随机播放时。由于jQuery,它复制子表的过程在每个对象内部都有子/下层数据。
答案 0 :(得分:0)
基本上,您应该获取所有id,将它们洗牌并重新分配回DOM元素:
const $items = $('#pages li');
const ids = $items.map((i, { id }) => id);
const shuffledIds = shuffle(ids); // This is your shuffle function
$items.each((i, e) => {
e.id = shuffledIds[i];
});