我正在使用jquery mobile并试图删除一些类而不是写一堆css。当我在jsFiddle中测试它时,它工作正常但不是我在浏览器中查看它时。我把脚本放在data-role =“page”中,所以它应该正确加载。我也试过.trigger(“updatelayout”);但这似乎不起作用。任何帮助都会非常感激,因为这应该是一个2分钟的任务变成2小时的头痛。
jquery的:
$("#panelforminput div").removeClass("ui-shadow-inset ui-corner-all ui-btn-shadow ui-body-c");
$("#newdoctorDiv ul").removeClass("ui-shadow");
jsFddle:
http://jsfiddle.net/adam123/9XXcj/6/
这是来自firebug的标记:
<span id="panelforminput" class="ui-li-aside">
<div class="ui-input-text ui-shadow-inset ui-corner-all ui-btn-shadow ui-body-c ui-mini">
<input id="adddocFirstName" class="ui-input-text ui-body-c" type="text" data-mini="true"
placeholder="John" value="" name="adddocFirstName">
</div>
</span>
答案 0 :(得分:4)
您需要将脚本放在代码document.ready中,以使脚本可用的元素也确保您成功包含jQuery,阅读how jQuery works。
在大多数情况下,只要DOM层次结构可以运行脚本 完全建成。传递给.ready()的处理程序是有保证的 在DOM准备好之后执行,所以这通常是最好的 放置所有其他事件处理程序并运行其他jQuery代码的地方, Reference
答案 1 :(得分:1)
对于jQuery Mobile,请不要在代码中使用.ready()
。坚持jQuery Mobile活动http://api.jquerymobile.com/category/events/
在您的情况下,您可以使用pagebeforeshow
或pageshow
。因此,您的代码应如下所示。
$('.selector').on('pagebeforeshow', function () {
// code
});
答案 2 :(得分:0)
$(document).ready(function(){
$("#panelforminput div").removeClass("ui-shadow-inset ui-corner-all ui-btn-shadow ui-body-
c");
$("#newdoctorDiv ul").removeClass("ui-shadow");
});
只需在ready函数中编写的jQuery代码。