1

如何使用下面的变量设置.attr()我的?iframeattrs

iosocket.on('content', function (object) {
    var attrs = '';
    for (var key in object) {
        attrs = attrs.concat(",'" + key + "':'" + object[key] + "'");
    }
    attrs = '{' + attrs.substring(1) + '}';
    console.log(attrs);
    var i = $('<iframe></iframe').attr(attrs);
    $('#in').append(i);
});

console.log 说得对,但它不起作用,我的 iframe 永远不会得到 attrs 并且没有错误被丢弃。

{'width':'853','height':'480','src':'https://www.youtube-nocookie.com/embed/qNaknTgIbIg?rel=0','frameborder':'0','allowfullscreen':''}

我也尝试过.attr(eval(attrs)),同样的问题。

4

1 回答 1

5

.attr()当用作 setter 时,该函数接受 Object 以及其他选项。但是,attrs是一个字符串,在这种情况下,它将作为一个 getter 而不是作为一个 setter 作出反应。

我怀疑您需要在收到信息时传递信息。

iosocket.on('content', function(attrs) {
  $('<iframe></iframe>').attr(attrs).appendTo('#in');
});
于 2013-01-13T16:25:25.753 回答