2011-09-20 40 views
0

为什么这个选择器不工作? 我使用jQuery移动(1.0 B3)的最新版本和jQuery 1.6.2JQueryMobile ID选择器没有拾取元素

选择

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"); 
}); 

然而,因为它只是啤酒rt消息被看到。 div的innerHTML未更新。这甚至是选择器问题?我必须提到,我有另一个功能与选择器"[class*=ui-bar-], [class*=ui-body-], [class*=ui-btn-]"在同一页上,并且工作..所以我很积极,我已经正确地包含了所有库。

回答

2

mobileinit用于配置jQuery Mobile中的选项,而不是用于在文档准备就绪时执行任何操作。 DOM现在不一定就绪可以使用。

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

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

(编辑指pageInit作为为内容被通过AJAX加载后的DOM已准备就绪,你应该使用,而不是在.ready() jQuery Mobile的)

+0

谢谢。我从他们的文件中误解了这一点。另一个函数叫做'onclick',这样就可以工作。 – rlemon

+0

看看编辑的答案,因为我的原始建议使用'.ready()'是不正确的,道歉。 – Nick