gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 09:03:30 25 4
gpt4 key购买 nike

我正在编写代码,根据单击按钮时在文档中找到的一组“对象”添加一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com