无法使用.attr()设置多个属性

时间:2013-01-13 16:21:53

标签: javascript jquery

如何使用下面的变量.attr()设置iframe的{​​{1}}?

attrs

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

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);
});

我也尝试使用{'width':'853','height':'480','src':'https://www.youtube-nocookie.com/embed/qNaknTgIbIg?rel=0','frameborder':'0','allowfullscreen':''} ,同样的问题。

1 个答案:

答案 0 :(得分:5)

当用作setter时,.attr()函数接受其他替代项中的Object。但是,attrs是一个字符串,在这种情况下,它将作为一个吸气剂而不是一个设定者作出反应。

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

iosocket.on('content', function(attrs) {
  $('<iframe></iframe>').attr(attrs).appendTo('#in');
});