2011-12-09 16 views
10

次のように私は

$(document).bind ('pageshow', function (e, data) { 
    console.log ($('#page_spots')); 
    console.log ($.mobile.activePage); 

    if ($.mobile.activePage == $('#page_spots')) { console.log ('Bingo!'); } 
}); 

pageに属性data-roleセットでのdiv #page_spotsなので、何かをしようとしています。上記の例では、アクティブなページが#page_spotsの場合、「Bingo!」と記録します。コンソールで

私はjQMの完全な初心者です。これが正しい方法であるかどうかわかりません。

ありがとう、私の英語のために謝罪します。

答えて

26

あなたは$.mobile.activePageからアクティブなページのIDを取得し、むしろjQueryオブジェクトと比較しようとするよりも、文字列と比較することができます:ここでは

$(document).bind ('pageshow', function (e, data) { 
    console.log ($('#page_spots')); 
    console.log ($.mobile.activePage); 

    if ($.mobile.activePage.attr('id') == 'page_spots') { console.log ('Bingo!'); } 
}); 

はデモです:http://jsfiddle.net/E6YuA/

$.mobile.activePageはにいいですあなたがすぐに参照できる現在のdata-role="page"要素のキャッシュされたオブジェクトであるからです。私は再びこれを読んでいたし、あなたがIDを見つけるために.attr()を使用する必要はありません、あなたがDOMElementのから直接属性にアクセスして、もう少し早くでき

更新

$.mobile.activePage[0].id

+0

ありがとうジャスパー!私はあなたの答えをまだ受け入れることができませんが、私は2分以内にします。 – novato

+0

あなたの編集にも感謝します! – novato

関連する問題