私は無知です。
私の Jquery Mobile Plugin では、次のように宣言しています。
var $currentEntry = $.mobile.urlHistory.stack[$.mobile.urlHistory.activeIndex].url;
$activePage = $('div:jqmData(url="'+ $currentEntry +'")');
そこで、アクティブなページの URL を取得し、それを使用して $activePage オブジェクトを作成します。
これはデスクトップでは問題なく動作しますが、私の iPad (iOS3.3) では、$currentEntryは正しく定義されていますが、$activePageはundefinedです。
質問:
これにはどのような理由が考えられますか?
これを 10 秒のタイムアウトでラップしても同じ結果が得られるため、競合状態を除外できます。また、それぞれのページを直接コンソールしてdata-urlをクエリすると、正しい値が表示されます。では、なぜ上記の方法でも iOS で undefined が表示されるのですか?
undefined
他の場所で正しく動作している間?
ヒントをありがとう!
編集:
要素は動的になりますが、次のようにセットアップでページを直接コンソールできます。
console.log( $('div:jqmData(wrapper="true").ui-page-active').attr('id') );
console.log( $('div:jqmData(wrapper="true").ui-page-active').attr('data-url') );
どちらも正しいidとdata-urlを返すため、要素が存在する必要があります。
EDIT2 :
属性data-urlを照会して、正しい値を取得できます。ただし、次のようにこの属性を使用して選択することはできません。
$('div[data-url="'+$currentEntry+'"]').length
これは私に0を与えます