我认为这完全取决于语法问题。我不知道如何在addItem()函数中正确设置li项的id属性。
如果我删除addItem()函数中的“ths”参数(在on click函数中定义),则为动态创建的列表项正确设置id属性。如果我传递参数,函数会成功触发,但它不会为列表项设置id。它只是创建一个没有id的列表项。
在保持我下面的格式的同时,如何在向函数传递参数时正确设置动态创建的列表项的id?
我可以这样做:
$('<li>'+ths+'</li>').attr('id', 'foo'+i).attr('class', 'bar'); i++;
但这不符合我下面的模型的语法。它的效率也不高。
(function () {
var i = 1;
var addContainer = {
init: function () {
$('<li></li>', {
id: "today"
}).prependTo('#myDiv');
},
addItem: function (ths) {
$('<li>' + ths + '</li>', {
id: 'newItem' + i
}).prependTo('#orderList');
i++
}
};
$('body').on('click', '.itemRow', function () {
var ths = $(this).children('.itemTitle').text();
if ($('today').length >= 0) {
addTodaysOrders.addOrder(ths);
}
});
})();
这段代码只是一个简短的概述,以便了解...它缺少一些部分。但这里重要的部分就是在这种格式下设置id的语法。
答案 0 :(得分:3)
$('<li>', {
id: 'newItem' + i,
text: ths
})