在自调用jQuery函数中设置属性和传递参数

在自调用jQuery函数中设置属性和传递参数,jquery,function,syntax,arguments,argument-passing,Jquery,Function,Syntax,Arguments,Argument Passing,我认为这一切都归结为语法问题。我不知道如何在addItem()函数中正确设置li项的id属性 如果删除addItem()函数中的“ths”参数(该参数在单击函数中定义),则会为动态创建的列表项正确设置id属性。如果我传递参数,函数将成功激发,但它不会设置列表项的id。它只是创建一个没有id的列表项 在保持以下格式的同时,如何在向函数传递参数时正确设置动态创建的列表项的id 我可以这样做: $('<li>'+ths+'</li>').attr('id', 'foo'+i).

我认为这一切都归结为语法问题。我不知道如何在addItem()函数中正确设置li项的id属性

如果删除addItem()函数中的“ths”参数(该参数在单击函数中定义),则会为动态创建的列表项正确设置id属性。如果我传递参数,函数将成功激发,但它不会设置列表项的id。它只是创建一个没有id的列表项

在保持以下格式的同时,如何在向函数传递参数时正确设置动态创建的列表项的id

我可以这样做:

$('<li>'+ths+'</li>').attr('id', 'foo'+i).attr('class', 'bar'); i++;
$('
  • '+ths+'
  • ').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);
            }
        });
    })();​
    
    (函数(){
    var i=1;
    var addContainer={
    init:函数(){
    $(“
  • ”{ id:“今天” }).prependTo('myDiv'); }, 附加项:功能(ths){ $(“
  • ”+ths+”
  • ”{ id:'newItem'+i }).prependTo(“#订单列表”); 我++ } }; $('body')。在('click','itemRow',函数(){ var ths=$(this).children('.itemTitle').text(); 如果($('today')。长度>=0){ addTodaysOrders.addOrder(ths); } }); })();​
    这段代码只是一个简短的概述,目的是让大家明白……它缺少了一些内容。但这里重要的部分只是在这种格式中设置id的语法。

    $(“
  • ”{
    $('<li>', {
        id: 'newItem' + i,
        text: ths
    })
    
    id:'新项目'+i, 正文:ths })
  • $('li>'{
    id:'新项目'+i,
    正文:ths
    })
    
    请访问
    $('today')
    today是代码中的一个标记。today元素与此问题无关。就像我说的,这个代码并不精确……它只是提供了一个参考框架。问题在于addItem函数和Arguments的传递,但HTML中没有today元素!嗯…“today”是动态创建的列表项的id名称。你在说什么?当然,它不是HTML元素,而是li标记的id名称。请访问
    $('today')
    today是代码中的标记。today元素与此问题无关。就像我说的,这个代码并不精确……它只是提供了一个参考框架。问题在于addItem函数和Arguments的传递,但HTML中没有today元素!嗯…“today”是动态创建的列表项的id名称。你在说什么?当然,它不是HTML元素,而是li标记的id名称。