2

ここにある最後の質問に「1ページに複数回実行する」を含めるのを忘れました:divにJavaScriptを追加してiframeを作成する

同じページ内の複数のdivでコードを実行する必要があります。現在、以下のコードは最後のdivで1回だけ実行されます。たとえば、3つのdivがある場合、3つすべてにiframeを追加する必要があります。通常のJavaScript。JQueryを使用しないようにしています。

window.onload = function(){
var link = "http://www.somesite.com"
var iframe = document.createElement('iframe');
iframe.frameBorder=0;
iframe.width="300px";
iframe.height="250px";
iframe.id="randomid";
iframe.setAttribute("src", link);
document.getElementById("ad54").appendChild(iframe); //<--this id will be dynamically generated to match div's
}


<div class="ad" id="1"></div>
<div class="ad" id="2"></div>
<div class="ad" id="3"></div>

編集:IE9、Chrome、Safari、Firefox、Operaでテスト済み。このコードは機能します。JQueryやループは必要ありません。このコードは、どこで使用してもiframeを作成します。

var link = "http://www.somesite.com"
document.write(iframe);
var myIframe = parent.document.getElementById("randomid");
myIframe.height = 250;
myIframe.width = 300;
myIframe.src = link;
myIframe.style.border = "0px";
myIframe.style.padding = "0px";
4

2 に答える 2

1
window.onload = function() {
  var elements = document.getElementsByTagName('div');
  for (var i = 0; i < elements.length; i++) {
    append_iframe( elements[i] );
  }
}

function append_iframe( div ) {
    var link = "http://www.somesite.com"
    var iframe = document.createElement('iframe');
    iframe.frameBorder=0;
    iframe.width="300px";
    iframe.height="250px";
    iframe.id="randomid";
    iframe.setAttribute("src", link);
    div.appendChild(iframe);
}
于 2012-04-24T18:22:48.293 に答える
0

jQueryの人ではありませんが、これはうまくいくと思います

$("div").each(function(d) {
    var link = "http://www.somesite.com"
    var iframe = document.createElement('iframe');
    iframe.frameBorder=0;
    iframe.width="300px";
    iframe.height="250px";
    iframe.id="randomid";
    iframe.setAttribute("src", link);
    this.appendChild(iframe);
});
于 2012-04-24T18:24:57.560 に答える