2

私は JavaScript が苦手で、jquery リストビューでリスト項目の背景色を変更する方法がわかりません...

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-colorbackgroundjQuery 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 に答える