2017-08-16 67 views
1

我在下面有下面的代码。我需要添加carousel-controls每个图像的<ul><li>标签,因为图像的数量可以改变,我需要JS来做到这一点,但不知道以后我得到的image-controller如何添加标签取决于另一个div的长度

var img_number = $(".image-container img").length; 
长度做什么

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='image-container'> 
 
    <img src="/img.png" alt="xga-1"> 
 
    <img src="/img2.png" alt="xga-1"> 
 
    <img src="/img3.png" alt="xga-1"> 
 
</div> 
 

 
<div class="carousel-controls"> 
 
    <p class="angle-left" data-icon='ei-chevron-left' data-size='m'></p> 
 
    <ul> 
 
     <!-- Insert a <li> for each image --> 
 
    </ul> 
 
    <p class="angle-right" data-icon='ei-chevron-right' data-size='m'></p> 
 
</div>

+0

你看着'Array.forEach'或简单'for'循环? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for – jdubjdub

回答

1

你并不真的需要你发现图像的长度做任何事情,你可以在他们环路,并将它们添加到UL元素,包裹着一个新的li元素:

$(function() { 
 
    $(".image-container img").each((i, el) => { 
 
    $('ul').append($("<li>").append(el)); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='image-container'> 
 
    <img src="/img.png" alt="xga-1"> 
 
    <img src="/img2.png" alt="xga-1"> 
 
    <img src="/img3.png" alt="xga-1"> 
 
</div> 
 

 
<div class="carousel-controls"> 
 
    <p class="angle-left" data-icon='ei-chevron-left' data-size='m'></p> 
 
    <ul> 
 
     <!-- Insert a <li> for each image --> 
 
    </ul> 
 
    <p class="angle-right" data-icon='ei-chevron-right' data-size='m'></p> 
 
</div>

+0

非常好的答案 –

+0

@SPHINX谢谢,欢迎您投票:) – Dekel

+0

顺便说一句,我看到你的编辑建议,但链接是为DOM追加,而不是为jquery的(这是我用在上面的代码) – Dekel

0

这样你可以将它们添加

$(".image-container img").each(function(){ 
$("ul").append("<li>"+$(this).html()+"</li>") 
} 
); 
相关问题