在JS中用For循环附加li项
Append li items with For Loop in JS
我现在有史以来最大的脑洞。。。
我需要追加i
数量的幻灯片(可以是空白的),但它们必须有一个用于内部div的特定类,以及一个由幻灯片名称中的i
组成的特定ID。
<ul class="bjqs"><!-- Target This -->
<li id="slide0"><!-- Append these -->
<div class="center"><!-- Append these -->
<span class="author"></span><!-- Append these -->
<span class="time"></span><!-- Append these -->
</div>
<div class="image"></div><!-- Append these -->
</li>
<li id="slide1"><!-- Append these -->
<div class="center"><!-- Append these -->
<span class="author"></span><!-- Append these -->
<span class="time"></span><!-- Append these -->
</div>
<div class="image"></div>
</li>
<li id="slide2">... etc
</ul>
也许一个基本的for loop
会起作用。。。?
var slideCount = 20;
for(var i = slideCount-1;i>=0;i--){
$('ul.bjqs').after('<li id="slide'+i+'"><div class="center"><span class="author"></span><span class="time"></span></div><div class="image"></div></li>');
}
(嗯,它确实有效……但有更清洁的方法吗?)
这取决于需求和您喜欢的方式。
如果您在需要创建其他幻灯片的时候已经有了幻灯片,您可以使用clone
方法:
var slideCount = 20;
for(var i = slideCount-1;i>=0;i--){
$('ul.bjqs').after($('#slide0').clone().attr('id', 'slide'+i));
}
这是文件。
除此之外,你的方法还不错。我个人不喜欢用这样的js输出html,因为如果你必须更改布局,你将有几个文件需要维护(至少是html和js文件)。一个好的方法是在开始时克隆(见上文)一个隐藏的空幻灯片,然后在生成其他幻灯片后将其删除。
一个更干净的方法是使用像angular.js 这样的双向绑定库
HTML
<li ng-repeat="slide in slides" id="slide{{$index}}">
<div class="center">
<span class="author">{{slide.author}}</span>
<span class="time">{{slide.time}}</span>
</div>
<div class="image"></div>
</li>
JS-
$scope.slides=[{author:"Chris",time:"Tues"},{author:"Owen",time:"Wed"}];
相关文章:
- jQuery:循环一个具有不同超时值的循环
- 在循环中分配json值时,值被覆盖
- 如何在下面的ES6循环中获得前面的文本
- jQuery循环遍历每个li并检查一个类
- 在JS中用For循环附加li项
- 通过javascript循环UL中的LI元素
- 循环通过 LI 元素向上 DOM
- jQuery - 循环遍历包含 li 的表的 ol,并从表列中获取数据
- 用“for 循环”为每一秒更改颜色 ul li
- 使用next和previous按钮循环浏览li元素
- 循环通过LI's在一个顺序中,然后返回另一个顺序,同时逐渐消失
- 如何循环使用li's读取url的一部分,然后使用Jquery将其作为类添加到li中
- 如何在jQuery中循环遍历数组,并将数组中的值附加到li中
- 在li'上循环;s,并在每个元素的左边进行填充
- 循环访问自定义 UL LI A 列表,并仅隔离具有所选类名的项
- 循环遍历li项,并在每个li项中设置变量以执行不同的操作
- 如何通过javascript中的for循环动态创建ul和li元素
- 在li抽屉之间循环-jquery
- 替换& lt; li>在for循环中使用href将节点放入锚
- 在一个循环中包裹li元素