我对javascript非常苛刻 - 我无法弄清楚如何在jquery listview中更改列表项的背景颜色......
var parent = document.getElementById('listDiv');
var listview = document.createElement('ul');
listview.setAttribute('id', 'listView');
parent.appendChild(listview);
var listItem = document.createElement('li');
listItem.setAttribute('id', 'temp');
var itemLink = document.createElement('a');
itemLink.setAttribute('href', '#');
itemLink.innerHTML = "HEYY MAN";
listItem.appendChild(itemLink);
listview.appendChild(listItem);
$('#listView').listview().listview('refresh');
//I NEED DIS SHIT TO WORK
$('#listView').on('click', 'li', function(){
$('#temp').css('background-color','green');
});
所有内容都正确显示,您可以在JSFiddle上使用它,但“点击”功能或背景颜色更改无法正常工作。有人可以伸出援助之手吗?
答案 0 :(得分:2)
您正在使用的jQuery版本(1.6.4)不支持.on()
函数,它仅在1.7版本中引入。我已将其替换为.bind()
以使其暂时运行:
$('#listView').bind('click', 'li', function(){
$('#temp').css('background','green');
});
background-color
已更改为background
以覆盖jQuery Mobile样式。
这里有效:http://jsfiddle.net/q3vfh/3/
但是,如果你不依赖于那个版本的jQuery,那么我建议使用这个更新的小提琴中的代码:http://jsfiddle.net/q3vfh/2/ - 它使用jQuery 2.0.2和jQuery Mobile 1.3.1并允许你使用.on()
。
答案 1 :(得分:1)
$('#listView').delegate('li','click', function(){
$(this).css({background: '#6495ED'})
});