javascript - jQuery 从数组中设置元素 li 数据

标签 javascript jquery arrays

如果我有一个列表:

<div class="item active ui-sortable">
  <li class="player ui-droppable" data-name="Kev" data-pick-id="534dd2424b65762a89020000">
    Teddy Bridgewater
    <div class="pull-right" id="player-badges">
      <span id="points-holder">
        10
      </span>
      <span class="remove-player player-badge">
        <i class="fa fa-trash-o"></i>
      </span>
    </div>
  </li>
  <li class="player pick-blank ui-droppable" data-name="" data-pick-id="534dd2424b65762a89030000">
    EMPTY
    <div class="pull-right" id="player-badges">
      <span id="points-holder">
        7
      </span>
    </div>
  </li>
  <li class="player ui-droppable" data-name="kevin" data-pick-id="534dd2424b65762a89040000">
    kevin
    <div class="pull-right" id="player-badges">
      <span id="points-holder">
        5
      </span>
      <span class="remove-player player-badge">
        <i class="fa fa-trash-o"></i>
      </span>
    </div>
  </li>
</div>

我正在制作一个 data-pick-id 数组,然后如何根据数组 ["534dd2424b65762a89020000", "534dd2424b65762a89030000", "534dd2424b65762a89040000"重写此列表]

上下文:我正在使用 jquery-sortable,并且希望仅保留 data-pick-id 的 dom 结构。。这样我就可以更改所有内容并更新到服务器,同时通过 ID 保留实际的 dom 位置。

同样,我想做的就是循环并将该数组写入每个data-pick-id。循环是最好的选择吗?

最佳答案

一个简单的.each()就足够了:

var ids = [1, 2, 3];

$('.player').each(function(i) {
    $(this).data('pick-id', ids[i]);
});

您可能希望使选择器更加明确。

关于javascript - jQuery 从数组中设置元素 li 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23097544/

相关文章:

javascript - 在我们滚动覆盖导航页面时防止主页滚动

javascript - SignalR 和 IE 问题 - 投票正在进行中

jquery - Bootstrap 3 中的导航栏

javascript - 如果在特定元素之外单击,则删除具有特定类的所有元素

javascript - 使用 Jquery 更改 css 样式适用于 id,而不适用于类

arrays - 从没有循环的两个数组元素成对创建数组

javascript - 兄弟元素上的鼠标悬停jquery轻弹

java - 如何将用户输入添加到java中的并行数组?

php - print_r() 函数返回 diff 算法的简单结果 "Array"

javascript - 将表格设置为在 Javascript 期间不会改变的某个位置