2016-11-05 14 views
0

フロントエンドではHTML/CSS/jQuery、バックエンドではPythonを使用してビジネスをより自動化するWebアプリケーションを構築しています。jQueryでiframeにリンク要素を追加できません

jQueryで簡単なスクリプトを書いて、ajaxでルートを呼び出し、データをjsonとして受信し、それを解析して長さによってiframeのリストを返します。リストに20個の項目があり、 1ページに5アイテム、4ページを作成し、各リンクに5つのiframeを配置します。

ここでは、この機能を担当するコードです:

 $('.pageContent').empty() 
         for (var i = 0; i < vidPageList.length; i++){ 
          var videoUrl = vidPageList[i].videoLink 
          var postUrl = vidPageList[i].postLink 
          console.log(postUrl) 
          $('<iframe src ="'+videoUrl+'" class = "videoEntry" width = "360" height = "250"></iframe>').appendTo(".pageContent") 
          $('<a class = "postLink" href = "'+postUrl+'"> Video link </a>').appendTo(".videoEntry") 
         } 

問題:

のiframeを完全に追加されますが、リンクは一切追加されていない、私はなぜ知らない、コンソール私に何かエラーが表示されていない、私はpostUrlの値をデバッグしようとしました、そして、それらはすべて正しいです、なぜこれをやっていますか?リンクを追加する最後の行が機能していないように見えますが、私もappendTo()の呼び出しですべてを追加しようとしましたが、iframeだけが追加されました。

+0

Iframeは独自のウィンドウを作成します。最初にそのiframeウィンドウに入る必要があります。 iframe要素自体に直接追加することはできません。iframeが別のドメインからのものである場合は、iframeページ内のコードを制御しない限り、まったくアクセスできません。 – charlietfl

+0

if divを使用してiframeを追加し、そのdivへのリンク? –

+0

これらのURLはページと同じドメインからですか? iframeがロードされた後に、同じドメインのiframeが 'contents()'を使用してiframe内に入ることができる場合は、 – charlietfl

答えて

0

セレクタが初めて実行されたときに、iframe内にあるため、.videoEntryクラスがありませんでした。追加する前にまずすべてのHTMLコンテンツを作成すると便利です。

関連する問題