这是我到目前为止所拥有的
var count_element = $('div.wp-playlist-item > li').length;
totalcount = 10 - count_element;
if ( totalcount > 1 ) {
$('div.wp-playlist-item').append('<li class="wp-playlist-caption"><div title="" data-original-title="" data-toggle="tooltip" data-title="0:00" data-placement="left" class="next-songs"><span class="wp-playlist-item-title">Blank</span></div></li>');
}
基本上我试图让它div.wp-playlist-item
总是有10个列表元素。
因此,除非totalcount
= 0(10 - 10),否则附加此列表元素。
在我目前的测试环境中,totalcount
等于8,所以我们要触发8次附加命令。
我当前的代码只能正常启动一次。
答案 0 :(得分:1)
var count_element = $('div.wp-playlist-item > li').length;
totalcount = 10 - count_element;
if ( totalcount > 1 ) {
for (var i=0; i< totalcount; i++) {
$('div.wp-playlist-item').append('<li class="wp-playlist-caption"><div title="" data-original-title="" data-toggle="tooltip" data-title="0:00" data-placement="left" class="next-songs"><span class="wp-playlist-item-title">Blank</span></div></li>');
}
}
演示https://jsbin.com/qanoput/edit?html,js,output
尝试一次循环并追加。
答案 1 :(得分:1)
如果我正确理解您的问题,for
循环应该可以满足您的需求。另外,我相信你希望totalCount
大于0,而不是1:
if ( totalcount > 0 ) {
var i = 0,
appendedElement = '';
for(; i < totalCount; i++) {
appendedElement += '<li class="wp-playlist-caption"><div title="" data-original-title="" data-toggle="tooltip" data-title="0:00" data-placement="left" class="next-songs"><span class="wp-playlist-item-title">Blank</span></div></li>';
}
$('div.wp-playlist-item').append(appendedElement);
}
请注意,这种方法的优点是你可以在for
循环中连接,这应该很快,append()
只执行一次而不是多次。
答案 2 :(得分:0)
if语句只运行一次,因为它不在内部或从循环中调用。 如果要运行代码X次,请在函数内添加该代码并创建一个调用该函数的循环
var totalCount = 10 - count_element;
for (var i = 0; i < totalCount; i++) {
myFunction()
};
function myfunction(){
//your code here
}