2016-06-13 7 views
0

window.load & document.readyの後に読み込まれるHTMLページの要素にアクセスするにはどうすればよいですか?domの要素にアクセスしてwindow.loadの後にロードする

jQueryドキュメントの準備または読み込みを使用してアクセスできません。

+0

に説明されてexample..Ifとその可能性を説明フィドル – user3386779

+0

を作成してください、あなたはJSを通じてダイナミックHTML要素にアクセスして話しているの? – Sarath

答えて

0

アクセスする必要のあるイベントや到着したイベントがある場合は、そのイベントを使用します。あなたはにフックすることができます何のイベントはありません。彼らはそれがタイマーループ(彼らのために例えば、ポーリング)を使用して表示されるようにするために、あなたは待つことができ

(function() { 
    function doSomething() { 
     var elements = $("selector-for-the-elements"); 
     if (!elements.length) { 
      // Not there yet, keep waiting 
      setTimeout(doSomething, 100); // 100ms = 1/10th second, adjust as needed 
      return; 
     } 
     // We have them, use them 
    } 
    $(doSomething); // Make the first call happen on document ready 
})(); 
0

あなたが要素にアクセスするためにトリガを使用と仮定すると、以下では動作します:

$("<trigger>").on("click", function() { 
    <access loaded element> 
}); 
0

使用event delegation

$(".parent_class").on("click",".the_element_you_need",function() { 
//code here 
}); 
+0

ロードイベントはありますか?クリックイベントはページにありません – user3555971

0
$(document).on("click",".your_element",function() { 
//do something 
}); 
あなたは既にjQueryの言及ので
1

は、私はあなたjQueryの具体的な答えを与えるでしょう:

$("body").on("click",".selector-late",function(e){ 
    //Your Code Here. 
    //e.delegateTarget returns the body element. 
    //e.currentTarget returns .selector-late element. 
    //e.target returns the element which was clicked. (could be a child of .selector-late too) 
}); 

説明:

  1. は、我々はすでに存在している要素にイベントリスナーをアタッチしています。 (bodyの場合は、要素の親でもかまいません)
  2. clickは、私が付け加えたイベントです。要件に応じて変更することができます。
  3. .selector-lateは、今後いつでも読み込まれる要素のセレクタになります。

署名

$(staticAncestors).on(eventName, dynamicChild, function() {}); 

この方法はdetail here.

+0

@ user3555971 - 運がよろしいですか? –

関連する問題