我一无所知。
在我的 Jquery 移动插件中,我声明:
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
同时在其他地方正常工作?
感谢您的任何提示!
编辑:
元素将是动态的,但我可以直接在我的设置中对页面进行控制台,如下所示:
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