javascript - Javascript 在无限循环中获取 Document 对象

标签 javascript javascript-objects

我正在编写代码,根据单击按钮时在文档中找到的一组“对象”添加一个 div。

当 Document.getElementsByTagName('object'); 只有一个对象,但它进入了无限循环!在警报中给我无限递增的 swf.length 值。 你能帮帮我吗?

<script>
 function get2(){
    var swf = document.getElementsByTagName('object');
    for (j=0;j<swf.length ;j++ )
    {
        alert(swf.length);
        var objs = swf[j].getElementsByTagName('param');
        for(i=0;i<objs.length;i++){
            id = objs[i].getAttribute('name');
            if (id == 'src'){
                source = objs[i].getAttribute('value')
                dv = document.createElement('div');
                dv.setAttribute('id','myContent');
                dv.setAttribute('border','2');

               document.getElementsByTagName('body')[0].appendChild(dv);
               /* code to embed a new swf object in new Div*/

            }/*if*/
        }/*for*/
    }/*outer for*/
 }/*function*/

这是 HTML 部分:

<body>


<div id="old">
</br><h1> Hello </h1>

<object id="myId1" width="250" height="250" name="movie1" classid="clsid:d27cdb6e-ae6d-    11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"><param name="src" value="whitebird.swf">
</object>
<h1> welcome to flash</h1>

</div>
</br>
<input type="button"  onclick="get2()" value="Insert"/>
</body>

最佳答案

在您的内部 for 循环中放置一个断点,并在第一次迭代后检查 j、i 和 getElementsByTagName('object').length 以及 swf[j].getElementsByTagName('param').length 的值,并且发布结果。尝试让你的长度超出循环(无论如何这是一个很好的做法)。在循环中也使用 var 关键字:

var objectLength = swf.length;
for (var j = 0; j < objectLength; j++)
{
     ...
}

您没有在您的 div 中添加更多对象标签,只是省略了代码,是吗?

关于javascript - Javascript 在无限循环中获取 Document 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7133828/

相关文章:

javascript - Safari/iOS 中 'download' 属性的替代方法

JavaScript:取消指向对象的变量会取消变量而不是对象?

javascript - 函数名称的值

javascript - 创建 jqgrid local 时出错

javascript - 在 react 中单击 anchor 标记后,组件将卸载而不会被调用

javascript - html-5 范围 slider 最大值和最小值

javascript - 如何在 VueJS 2.0 中进行路由

javascript - 即使我不对其进行任何操作,对象也会发生变化

javascript - 将表 id 与对象键匹配?

javascript - 如何在数组数组中连接数组的字符串属性并在每个数组中创建一个新属性