JS for循环来设置HTML对象参数

JS for loop to set HTML Object arguments

本文关键字:HTML 对象 参数 设置 for 循环 JS      更新时间:2023-09-26

我正在尝试编写一个JS类来轻松创建Iframe 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

但未能在HTML上设置参数,这是生成的来源:

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

怎么了?我怎样才能做到这一点?

谢谢!

iframe.attr = params.attrs[attr];

我想你的意思是:

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

或:

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

顺便说一下,您还忘了声明attr