使用html
而不是text
.
$('<li></li>', {
html: $('<a></a>', {
text: data[i].name,
onclick: 'doSomething()'
}),
id: 'response'
}).appendTo('ol.responseList');
PS我建议不要使用onclick
属性来绑定事件。使用 jQuery 的事件 API。
$('<li></li>', {
html: $('<a></a>', {
text: data[i].name
}).click(doSomething),
id: 'response'
}).appendTo('ol.responseList');
更新:如果你想传递i
给doSomething
,你需要做这样的事情(循环外):
function createFunc(i){
return function(){
doSomething(i); // this will be the correct value of `i`
};
}
然后这样做:
$('<li></li>', {
html: $('<a></a>', {
text: data[i].name
}).click(createFunc(i)), // Yes, this should be `createFunc(i)`, it returns a function
id: 'response'
}).appendTo('ol.responseList');