0

私のウェブサイトにクイックメニューを追加するためにjqueryを使用しています。私のソースコードは次のようなものです:

var span = $('body').append('<span id="quickmenu">');
       $('#quickmenu').css('position','fixed')
              .css('background-color','white')
              .css('border','4px solid black')
              .css('border-left','0px solid black')
              .css('top','15px')
              .css('left','0px')
              .css('font-family','Calibri')
              .css('font-size','14px')
              .css('line-height','0px')
              .css('color','#777777')
              .css('text-align','center');

それに関する私の問題は、FFとChromeですべてが本当にうまく機能するということですが、IE9は私に何も表示しません。

だから私は上記のコードにアクセスした後にいくつかのalerts()を試しました...:

alert('I run'); // I run
alert(span); // [object Object]
alert($("#quickmenu")); // [object Object] 
alert(span == $("#quickmenu")); // false

だから私は作成されたようですが、表示されていませんか?!

何が悪かったのか本当にわかりません...コンソールはFFとIE9でエラーを表示しません

何か案は ?!:-/

4

2 に答える 2

1

コードの実行が早すぎると思います。コードをドキュメントレディ関数でラップする必要があります。

jQuery(document).ready(function() {

//your code goes here

});

実際、関数を次のように変更します。

 jQuery(document).ready(function(e) {   
    var span = $('<span id="quickmenu" >')
        .css({
            'position':'fixed',
             'background-color':'white',
             'border':'4px solid black',
             'border-left':'0px solid black',
             'top':'15px',
             'left':'0px',
             'font-family':'Calibri',
             'font-size':'14px',
             'line-height':'0px',
             'color':'#777777',
             'text-align':'center'
        })
        .appendTo($("body"));
});
于 2012-05-30T10:50:47.537 に答える
1

Smokiがコメントで指摘したように。

からの切り替え:$("#target").append(my_dom_element);

に:my_dom_element.appendTo("#target");

問題を解決しているようです。

外部ファイルからインポートして事前に要素に変換していた、大きいがスクリプト化されていない要素を使用していました。その後、追加は失敗します。.appendTo()メソッドの使用への切り替えは機能しました。.append()したがって、複雑な要素を追加するように求められたときに、のIEコードが混乱するという推測を危険にさらします。それはそれをそれに追加していたものと同じくらい簡単にそれを混乱させたかもしれませんが。

(jQuery 1.8.2)

于 2012-10-22T18:44:35.340 に答える