2

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

4

2 回答 2

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().

于 2013-10-16T21:21:38.383 回答
1
$('#listView').delegate('li','click', function(){
$(this).css({background: '#6495ED'})   
});
于 2013-10-16T22:09:08.687 回答