我对 javascript 和 DOM 相当陌生,并且在使用 javascript 为以下 html 代码操作 DOM 时遇到问题。
<html>
<head>
<title>Testing</title>
</head>
<body>
<marquee direction=up height=400 scrollAmount=3.7 scrollDelay=70 onmousedown="this.stop()" onmouseover="this.stop()" onmousemove="this.stop()" onmouseout="this.start()">
<a href="#"> <span>Lion</span></a><br><br>
<a href="#"> <span>Tiger</span></a><br><br>
<a href="#"> <span>Giraffe</span></a><br><br>
<a href="#"> <span>Dinosaur</span></a><br><br>
<a href="#"> <span>Cat</span></a><br><br>
<a href="#"> <span>Dog</span></a><br><br>
<a href="#"> <span>Llama</span></a><br><br>
<a href="#"> <span>Rat</span></a><br><br>
<a href="#"> <span>Rhino</span></a><br><br>
<a href="#"> <span>Reindeer</span></a><br><br>
<a href="#" ><span >buffalo</span></a><br><br>
<a href="#" ><span >Yak</span></a><br><br>
<a href="#" ><span >Deer</span></a><br><br>
<a href="#" ><span >moose</span></a><br><br>
<a href="#" ><span >Rabbit</span></a> <br><br>
<a href="#" ><span >Duck</span></a> <br><br>
<a href="#" ><span >Peacock</span></a><br><br>
<a href="#" ><span >Crow</span></a><br><br>
<a href="#" ><span >Raven</span></a><br><br>
<a href="#" ><span >Swan</span></a><br><br>
</marquee>
<input type="button" value="Set Me Fixed" onclick="setMeFixed();" />
</body>
</html>
抱歉,如果上面的 html 代码不好。我正在为相同的内容编写一个greasemonkey 脚本,该脚本由我在此处简化的站点生成。所以我无法控制它。我希望将 [marquee] 标记替换为 [div] 标记,使其变为静态,并且我不必永远等待选取框中的第 100 个链接出现。;-)。所以我写了下面的脚本。(我是 js 编程新手,是的,我知道我的脚本很烂:-))
function setMeFixed(){
var fixedElement=document.createElement('div');
var marqueeElement=document.getElementsByTagName('marquee')[0];
//var clonedMarqNodes=marqueeElement.cloneNode(true);
for(i=0;i<marqueeElement.childNodes.length;i++){
fixedElement.appendChild(marqueeElement.childNodes[i]);
}
marqueeElement.parentNode.replaceChild(fixedElement,marqueeElement);
}
出现了很多问题。结果输出没有显示很少的链接。Peacock, Crow, Swan, Raven 在输出中看不到,所有
标签在变为静态后都被弄乱了,上面印有空格并且链接之间没有中断。作为一个初学者 javascript 程序员,我被困在这里,任何在正确方向上的帮助将不胜感激。有什么方法可以优雅地解决这个问题?谢谢。
保罗布拉德。
PS:我使用的是 Fx 3.0.11。