document.body.appendChild包含JS的地方

时间:2011-06-07 11:34:34

标签: javascript

我想在创建元素的<script>元素之后追加元素。它适用于http://guubo.com/多股服务,因此代码的目的是创建IFRAME元素按钮。

guubo           = new Object();

// create iframe
guubo.iframe    = document.createElement('iframe');

guubo.iframe.setAttribute('style', 'border:none; overflow:hidden; width: 93px; height: 32px;');
guubo.iframe.setAttribute('scrolling', 'no');
guubo.iframe.setAttribute('frameborder', '0');
guubo.iframe.setAttribute('allowTransparency', 'true');

document.body.appendChild(guubo.iframe);

如何在运行此代码的guubo.iframe之后附加<script>元素?请注意,页面上可能有多个<script>具有相同的网址,因此搜索具有相同网址的脚本元素,并在其后面添加后不是一个选项。

2 个答案:

答案 0 :(得分:0)

如果您的意思是要在包含代码的iframe元素后面插入script,我想选择到目前为止[浏览器/ dom引擎]处理的最后一个脚本元素并追加到将会发挥作用,但这可能并不总能产生预期的效果,因为不同的浏览器会加载页面中的资源。

此外,您可以使用var guubo = {};代替guubo = new Object();

答案 1 :(得分:0)

要做到这一点,有一个旧的脏方法使用document.write()将html代码放在脚本所在的位置。但是,如果您想以另一种方式执行此操作,则需要文档中的参考点。通常是这样的:

<div id="guubo_btn"></div>
<script>
   /* Your script */
   document.getElemenytById("guubo_btn").appendChild(guubo.iframe);
</script>

这会将它实际放在scipt标记之前,但结果是一样的。

编辑:document.write()方法,仅包含iframe

var guubo   = {};

guubo.iframe_id = "ifr"+Math.floor(Math.random()*1000);

// create iframe
var iframe  = '<iframe ';
iframe += 'style="border:none; overflow:hidden; width: 93px; height: 32px;" ';
ifarme += 'id="'+guubo.iframe_id+'" ';
iframe += 'scrolling="no" ';
iframe += 'frameborder="0" ';
iframe += 'allowTransparency="true"></iframe>';
document.write(iframe);

guubo.iframe = document.getElementById(guubo.iframe_id);

编辑2:现在你在guubo对象中有了iframe。