JQueryMobile ID选择器没有拾取元素

时间:2011-09-20 12:27:55

标签: jquery jquery-selectors jquery-mobile

为什么这个选择器不起作用? 我正在使用最新版本的JQuery Mobile(1.0 b3)和jquery 1.6.2

选择

function updateStatusBar(statusMessage) {
    alert("Hello World!");
    $("#status-bar").html(statusMessage);
}

标记

...
<div data-role="footer" data-theme="<?php echo $data_theme; ?>">
    <div id="status-bar"></div>
</div>
...

为了测试目的,我从

调用函数updateStatusBar
$(document).bind("mobileinit", function(){
    updateStatusBar("Foo Bar");
});

然而,因为它只能看到警报信息。 div的innerHTML未更新。这甚至是选择器问题吗?我必须提一下,我在选择器"[class*=ui-bar-], [class*=ui-body-], [class*=ui-btn-]"的同一页面上有另一个功能,并且有效..所以我很肯定我正确地包含了所有库。

1 个答案:

答案 0 :(得分:2)

mobileinit用于配置jQuery Mobile中的选项,而不是在文档准备好时执行操作。此时DOM尚未准备好使用。

您应该使用pageInit代替(或者只是将“mobileinit”更改为“pageinit”,这应该做同样的事情。)

http://jquerymobile.com/test/docs/api/globalconfig.html

(编辑引用pageInit,因为你应该在jQuery mobile中使用它而不是.ready(),因为在DOM准备好后,内容会被AJAX加载)