0

これを変更して、後でドキュメントにロードされた要素を表示することは可能ですか:

function tracksinfox_{$page_trackid}()
{
    document.getElementById('tracksinfoxshow_{$page_trackid}').innerHTML = 'get stuff here';
}

「get stuff here」のところに、id別のdivを表示したいのですが、PHPを使ったページロードで後からdivが作成されてしまいます。

4

3 に答える 3

0

document.onreadystatechange によってドキュメントの準備ができた後に関数を実行させることができます。

document.onreadystatechange=function() { 
    if(document.readyState == 'complete'){ 
        tracksinfox_{$page_trackid}();
    }
}

または単に window.onload イベントを使用します。

window.onload = tracksinfox_{$page_trackid};

しかし、知っておくべきことがもう 1 つあります。ドキュメントの準備が整った後に 2 つ以上の機能を実行したい場合は、次のように実行できます。

run_after_document_ready( tracksinfox_{$page_trackid} );
run_after_document_ready( somethingelse );
run_after_document_ready( somethingelse2 );

function run_after_document_ready( callback ) {
    callback_saver = window.onload;
    window.onload = function (){
        if ( typeof callback_saver == "function" ){
            callback_saver();
        }
        callback();
    }
}

または単にjQueryを使用する

$(document).ready(tracksinfox_{$page_trackid});
$(document).ready(somethiselse);
$(document).ready(somethiselse2);

注意: window.onload は document.ready とは少し異なります。詳細については、window.onload、document.onreadystatechange、jquery ドキュメントの準備に関するドキュメントを参照してください。

于 2013-04-15T02:39:26.037 に答える