Je suis assez novice en matière de javascript et DOM et j'ai un problème avec la manipulation de DOM en utilisant javascript pour le code html suivant.Remplacement d'une balise html par une autre balise à l'aide de JS 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>
Désolé si le code html ci-dessus est bad.I suis en train d'écrire un script Greasemonkey pour le même qui est produit par un site que j'ai simplifié ici. Donc, je n'ai aucun contrôle sur quoi que ce soit. Je veux que la balise [marquee] soit remplacée par la balise [div] afin qu'elle devienne statique et que je n'aie pas à attendre indéfiniment que le 100e lien du chapiteau apparaisse. ;-). J'ai donc écrit le script suivant. (Je suis nouveau à la programmation js et oui je sais que mon script suce :-))
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);
}
De nombreux problèmes se sont produits. La sortie résultante n'a pas montré quelques liens sur elle. Le paon, le corbeau, le cygne, le corbeau ne sont pas vus dans la sortie et toutes les étiquettes
sont foirées après qu'elles deviennent statiques avec les espaces imprimés ci-dessus et aucune rupture entre les liens. En tant que programmeur javascript débutant je suis coincé ici et toute aide dans la bonne direction serait très appréciée. Un moyen de résoudre ce problème avec élégance? Merci.
paul bullard.
PS: J'utilise Fx 3.0.11.