2012-08-28 36 views
0

我想寫一個JS類來輕鬆地創建Iframe HTML對象。 這是我的代碼:JS for循環來設置HTML對象參數

var Iframe = function (params) { 
    var src = params.src || ''; 
    var appendTo = document.getElementById(params.appendId) || document.body; 
    var iframe = document.createElement('iframe'); 
    iframe.src = src; 
    if (typeof params.attrs != 'undefined') { 
     for (attr in params.attrs) { 
      iframe.attr = params.attrs[attr]; 
      alert('attr: ' + attr + "\nIframe.attr: " + iframe.attr); 
      alert(params.attrs[attr]); 
     } 
    } 

    appendTo.appendChild(iframe); 

} 

當DOM加載:

var myIframe = new Iframe({ 
    src: 'http://www.example.com', 
    appendId: 'iframeDiv', 
    attrs: {height: '500px', id: 'ID'} 
}); 

它提醒預期值:

attr: height 
Iframe.attr: 500px 

和:

500px 

但輝ls在HTML上設置參數,這是生成的源代碼:

<div id="iframeDiv"> 
    <iframe src="http://www.example.com"></iframe> 
</div> 

怎麼了? 我該如何做到這一點?

謝謝!

回答

2
iframe.attr = params.attrs[attr]; 

我想你的意思是:

iframe[attr] = params.attrs[attr]; 

或:

iframe.setAttribute(attr, params.attrs[attr]); 

你也忘了申報attr,順便說一句。

+0

This Works!非常感謝你!對於(** var ** attr in params.attrs){ iframe ** [** attr **] ** = params.attrs [attr]; } –