1

私は 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>
4

3 に答える 3

4

スクリプトで要素を使用できるようにするには、コードのdocument.readyにスクリプトを配置する必要があります。また、jQuery が正常に含まれていることを確認してください。

ほとんどの場合、スクリプトは DOM 階層が完全に構築されるとすぐに実行できます。.ready() に渡されたハンドラーは、DOM の準備が整った後に実行されることが保証されているため、これは通常、他のすべてのイベント ハンドラーをアタッチして他の jQuery コードを実行するのに最適な場所 です

于 2013-04-27T14:40:09.703 に答える
1

jQuery Mobile - .ready() とページ イベント

jQuery Mobileの場合.ready()、コードでの使用は控えてください。jQuery Mobile イベントhttp://api.jquerymobile.com/category/events/に固執する

あなたの場合、pagebeforeshowまたはを使用できますpageshow。したがって、コードは次のようになります。

$('.selector').on('pagebeforeshow', function () {
 // code
});
于 2013-04-27T14:58:03.470 に答える
0
$(document).ready(function(){

$("#panelforminput div").removeClass("ui-shadow-inset ui-corner-all ui-btn-shadow ui-body- 
c");
$("#newdoctorDiv ul").removeClass("ui-shadow");
});

準備ができている関数でのみ記述する必要がある jQuery コード。

ここを見る

于 2013-04-27T14:41:41.593 に答える