如何在jQuery对象中更改对象类型的无序列表的ID

时间:2018-10-16 01:44:45

标签: javascript jquery

我是新来的,我想问一个关于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,它复制子表的过程在每个对象内部都有子/下层数据。

1 个答案:

答案 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];
});