我在jquery中使用缓存或在jquery中使用data
函数。我正在生成动态列表以及在data
中添加属性。但是我在数据中添加属性时遇到错误功能
https://jsfiddle.net/pn9p3szx/1/
$(function(){
var data =[{name:'test',o:{add:'nnnn'}},{name:'test2',o:{add:'nnnn'}},];
var arr=[];
var str ='<ul>';
arr.push(str)
$( data).each(function( index ,item) {
var st ='<li>'+item.name+'</li>';
st.data('o',item.o)
arr.push(st)
});
var s ='</ul>';
arr.push(s)
$('#test').append(arr)
$('#test').on('click', 'li', clickHand);
function clickHand(){
alert('---'+$(this).data('o'))
}
})
答案 0 :(得分:2)
您收到此错误是因为st
不是jQuery对象,而是HTML字符串。将您定义st
的行更改为:
var st =$('<li>'+item.name+'</li>');