0

我认为这一切都归结为语法问题。我不确定如何在 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 的语法。

4

1 回答 1

3
$('<li>', {
    id: 'newItem' + i,
    text: ths
})
于 2012-04-16T18:24:46.857 回答