如何使用下面制作的变量 attrs
设置我的 iframe
的 .attr()
?
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))
,同样的问题。
最佳答案
.attr()
函数在用作 setter 时接受 Object 以及其他选项。但是,attrs
是一个字符串,在这种情况下,它将作为 getter 而不是 setter 来响应。
我怀疑您需要在收到信息时传递信息。
iosocket.on('content', function(attrs) {
$('<iframe></iframe>').attr(attrs).appendTo('#in');
});
关于javascript - 无法使用 .attr() 设置多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14305413/