我认为这一切都归结为语法问题。我不确定如何在 addItem() 函数中正确设置 li 项的 id 属性。
如果我删除 addItem() 函数(在 on click 函数中定义)中的“ths”参数,则为动态创建的列表项正确设置了 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 的语法。