我有一個jQuery腳本,獲得一個字符串,併爲每個字母做li
元素,我有一個for循環選擇從最後到第一個每個字母,並希望從這些中刪除一個類li
在for循環中使用.eq()
來選擇它們,但它隻影響最後一個元素,其他元素不會刪除。 我的代碼是:jquery removeclass不在html中的活動元素
var str = this.html(),
container = this;
container.after('<ul class="letters-wrapper"></ul>').hide();
for(var i=0; i<str.length;i++){
$('.letters-wrapper').append('<li class="each-letter dropIn stay-up">'+ str[i] +'</li>');
if(str[i] == " "){
$('.letters-wrapper').append('<li class="each-letter dropIn stay-up">'+ ' ' +'</li>');
}
}
for(var i = $('.each-letter').length-1; i>=0; i--){
var j = ($('.each-letter').length-1) - i;
setTimeout(function() {
$('.each-letter.dropIn').eq(i).removeClass('stay-up');
}, j*100);
}
}
你爲什麼不創建沒有課堂的李?它看起來像你試圖創建一個動畫,在這種情況下使用jQuery animate和toggleClass。 – Rafael 2014-12-11 05:56:41
爲什麼你想使用'setTimeout'函數?你有這樣的具體要求? 'setTimeout'在你的情況下導致了問題。 – 2014-12-11 06:13:12
我認爲它在.eq(i)中使用變量,因爲當我使用直接索引號影響元素時,例如.eq(8),它可以在每個字母處按索引(8) – Hossein 2014-12-11 06:14:13