2013-10-04 47 views
1

我想讓它可以在HTML中創建具有相同類名的元素,並且jQuery將根據順序對它們進行計數。我之前用普通的JavaScript成功完成了它,但是,我正在嘗試學習jQuery API。有沒有辦法像這樣做?截至目前,它不接受$(...)[#]方法。選擇單獨的類元素

for (var i = 0; i < $('.description').length; i++) { 
    $('.description')[i].before($('<div/>', { 
     id: 'q' + (i+1), 
     class: 'qNumber', 
     text: (i+1) + ')', 
    })); 
} 

回答

3
$('.description').before(function(i) { 
    return $('<div/>', { 
     id  : 'q' + (i+1), 
     'class' : 'qNumber', 
     text : (i+1) + ')', 
    }); 
}); 

FIDDLE

+0

出於某種原因,我總是忘了'前()'可以做到這一點......這是遠遠更好。 –

+0

@DavidThomas - 我也是這樣,並非所有的DOM插入方法都需要一個函數,所以我必須在回答之前對它進行測試。 – adeneo

+0

非常感謝。一個問題:函數中的'i'參數是否被標準化爲計數器或什麼?它如何知道每次都會變大一點? – mvarble