javascript – 是否有可能迭代一个Bootstrap列表?

我有一个Twitter Bootstrap列表,其中包含可变数量的元素(实际上有两个列表,其中可拖动和可放置的元素使用Sortable.js完成).

在某些时候,我想迭代这些列表元素,以便从每个列表条目中获取data atribute.这就是我的HTML列表:

       <div class="panel-body">
            <ul id="main_list" class="list-group">
                <li id="opt1" href="#" class="list-group-item" data_value="1">Opt 1</li>
                <li id="opt2" href="#" class="list-group-item" data_value="2">Opt 2</li>
                <li id="opt3" href="#" class="list-group-item" data_value="3">Opt 3</li>
            </ul>
        </div>

这甚至可能实现,还是我认为太面向对象?如果没有,我该如何重新考虑这项任务?

最佳答案
你可以把你的具体信息

<li id="opt3" href="#" class="list-group-item" data-value="3">Opt 3</li>

并使用jquery轻松获得:

$("#opt3").data("value")

但是这样做的语义方式是“ – ”而不是“_”.

要迭代列表,您可以执行以下操作:

$("#main_list li").each(function(){
  var itemValue = $(this).data('id');
  var itemName = $(this).data('name');
  alert(itemValue+" - " +itemName);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
   <div class="panel-body">
            <ul id="main_list" class="list-group">
                <li id="opt1" href="#" class="list-group-item" data-name="customname1" data-id="1">Opt 1</li>
                <li id="opt2" href="#" class="list-group-item" data-name="customname2" data-id="2">Opt 2</li>
            </ul>
        </div>

转载注明原文:javascript – 是否有可能迭代一个Bootstrap列表? - 代码日志