2014-01-22 116 views
0

我有下面的功能,这是我的手机页面。该警报在DOM准备就绪时触发,但前置似乎不起作用。我在这里做错了什么?我正在开发MVC 4.Jquery Mobile Prepend不工作

$(document).on("pageinit", function() { 
    alert("This works but prepend doesn't"); 

    $('#Div').prepend('<div id="DivMenu">My Menu</div>'); 
}); 

<div id="Div">Hello</div> 

更新:调试器显示好像它跳过前置。

回答

-1

你在你的HTML元素的属性,所以不应该使用大写字符:

$(document).one("pageinit", function() { 
    alert("This works but prepend doesn't"); 

    $('#wrapper').prepend('<div id="div-menu">My Menu</div>'); 
}); 
<div id="wrapper">Hello</div> 

还与jQueryMobile工作,你应该用一个()命令你赢来运行pageinit事件时不需要它进行多次迭代。

最后,习惯于与$.mobile.activePage.find("#wrapper");匹配的元素,所以你不需要爬过整个页面来匹配一个元素 - 它会让你的生活变得更容易,并且更容易管理多个页面。

+0

我改变了id为小写,但我似乎并没有解决这个问题。我也将其更改为one()命令。谢谢你的回答! – user2438817

+0

您是否能够从您的控制台中选择元素,并且在尝试运行时您尝试选择的元素是否存在? – Croot

+0

谢谢你的努力!我发现了这个问题!再一次感谢你! – user2438817