我的代码几乎可以正常工作(它是一个 slider ,如果用户增加 slider 值可以创建更多 div,或者如果用户向下移动则删除它们),我正在努力解决的问题是我需要对每个 div 进行标识制作新的 div,从数组中选择名称,我觉得这应该很容易,但我无法让它工作,而且我在这里找不到它。
$('#pos1').on('slide', function (ev) {
var positions = ["Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf", "Hotel", "India", "Juliett"];
var positionValue = $('#pos1').val();
var gridCount = $('.carousel-inner div').length;
var objToClone = $('.table-slide');
if (gridCount < positionValue) {
for (var i = gridCount; i < positionValue; i++) $(objToClone).clone().removeClass('active').appendTo('.carousel-inner');
} else {
for (var i = gridCount; i > positionValue; i--)
if ( $('.carousel-inner div:last').hasClass('active') ){
$('.carousel-inner div:last').prev().addClass('active');
$( "div:last-child", ".carousel-inner" ).remove();
} else {
$( "div:last-child", ".carousel-inner" ).remove();
}
}
});
最佳答案
我不确定,如果我理解你的意图,但试试
for (var i = gridCount; i < positionValue; i++) {
$(objToClone).clone().removeClass('active').prop("id", positions[i]).appendTo('.carousel-inner');
}
然而,这要求数组的长度与 ( positionValue - gridCount )
相同。
另外,请注意 $('.table-slide')
selects all elements of the class "table-slide" ,不只是一个。
关于javascript - 如何让 DIV 按顺序从数组中选择一个 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41550834/