jQuery Listview更改列表项颜色

时间:2013-10-16 21:13:40

标签: javascript jquery listview

我对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上使用它,但“点击”功能或背景颜色更改无法正常工作。有人可以伸出援助之手吗?

2 个答案:

答案 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'})   
});