在自调用jQuery函数中设置属性和传递参数
我认为这一切都归结为语法问题。我不知道如何在addItem()函数中正确设置li项的id属性 如果删除addItem()函数中的“ths”参数(该参数在单击函数中定义),则会为动态创建的列表项正确设置id属性。如果我传递参数,函数将成功激发,但它不会设置列表项的id。它只是创建一个没有id的列表项 在保持以下格式的同时,如何在向函数传递参数时正确设置动态创建的列表项的id 我可以这样做:在自调用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).
$('<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名称。