我想使用javascript创建一个iframe,然后将其插入两个ID为“fblike”的分区。我尝试使用以下代码,但它不起作用。
<script type="text/javascript">
(function(){
var fb = document.createElement('iframe');
fb.src = 'http://www.facebook.com/plugins/like.php?href='+encodeURIComponent(location.href)+'&locale=en_US&send=false&layout=button_count&width=90&show_faces=false&action=like&colorscheme=light&font=verdana&height=21';
fb.scrolling = 'no';
fb.frameborder = '0';
fb.style = 'border:none; overflow:hidden; width:90px; height:21px;';
fb.allowTransparency = 'none';
document.getElementsById('fblike')[0].appendChild(fb);
})();
</script>
我知道代码中肯定存在一些错误,因为我对javascript知之甚少。任何人请帮助我!! 感谢
更新:感谢您的帮助:)我更新了代码以消除错误。现在,以下代码适用于我:
<script type="text/javascript">
(function(){
var fb = document.createElement('iframe');
fb.src = 'http://www.facebook.com/plugins/like.php?href='+encodeURIComponent(location.href)+'&locale=en_US&send=false&layout=button_count&width=90&show_faces=false&action=like&colorscheme=light&font=verdana&height=21';
fb.style.cssText = 'border:none; overflow:hidden; width:90px; height:21px;';
fb.frameBorder = '0';
fb.scrolling = 'no';
fb.allowTransparency = 'true';
document.getElementById('fbabove').appendChild(fb.cloneNode(true));
document.getElementById('fbbelow').appendChild(fb.cloneNode(true));
})();
</script>
答案 0 :(得分:2)
您不应该在同一页面上具有等值的id
属性。首先修复,否则document.getElementById()
永远不会正常工作(它只会返回一个元素)并且document.getElementsById()
(带有s
)不存在。
答案 1 :(得分:1)
该函数名为document.getElementById
,它返回单个元素,因为您永远不会有多个具有相同ID的元素
所以改变
document.getElementsById('fblike')[0].appendChild(fb);
到
document.getElementById('fblike').appendChild(fb);
答案 2 :(得分:1)
首先,你有一个类型。它的getElementById
,因为在任何给定页面上只有一个元素可以有ID。
其次,因为只有一个,所以不需要[0]
。
document.getElementById('fblike').appendChild(fb);
但是,否则,我们需要更多细节来了解这是否是您遇到的唯一问题。
答案 3 :(得分:0)
实际上,你想将两个iframe插入两个div中,对吧?下面的代码将按照您的要求执行(不能声称它是最佳的,因为您有重复的ID - 如上所述,如果可能,您最好制作两个不同的ID):
<script type="text/javascript">
(function(){
var list = document.getElementsByTagName('div'), i, fb;
for (i = 0; i < list.length; i++) {
if (list[i].id == 'fblike') {
fb = document.createElement('iframe');
fb.src = 'http://www.facebook.com/plugins/like.php?href='+encodeURIComponent(location.href)+'&locale=en_US&send=false&layout=button_count&width=90&show_faces=false&action=like&colorscheme=light&font=verdana&height=21';
fb.scrolling = 'no';
fb.frameborder = '0';
fb.style = 'border:none; overflow:hidden; width:90px; height:21px;';
fb.allowTransparency = 'none';
list[i].appendChild(fb);
}
}
})();
</script>