1 élément sur 2 - parentNode.removeChild()
Bonjour,
j'aurais besoin de votre aide :)
J'ai crée une fonction permettant d'effacer des liens dans une page.
L'exemple ci-dessous va parcourir tous les liens et supprimer ceux qui contiennent "toto.fr" dans href.
Pour supprimer les éléments j'utilise gElem.parentNode.removeChild(gElem); mais le probleme c'est que cela supprime 1 élément sur 2...
Auriez-vous une idée pour résoudre ce problème ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| <a href="http://toto.fr/lqskdljhqsd">test 1</a><br />
<a href="http://toto.fr/lqskdljhqsd">test 2</a><br />
<a href="http://toto.fr/lqskdljhqsd">test 3</a><br />
<a href="http://toto.fr/lqskdljhqsd">test 4</a><br />
<a href="http://toto.fr/lqskdljhqsd">test 5</a><br />
<a href="http://toto.fr/lqskdljhqsd">test 6</a><br />
<a href="http://toto.fr/lqskdljhqsd">test 7</a><br />
<a href="http://toto.fr/lqskdljhqsd">test 8</a><br />
<a href="http://toto.fr/lqskdljhqsd">test 9</a><br />
<a href="http://toto.fr/lqskdljhqsd">test 10</a><br />
<script type="application/javascript">
function deleteLinks(gUrl, gType, gSrc){
if(gType == "a" && document.links) var _getElements = document.links;
else if(document.getElementsByTagName(gType)) var _getElements = document.getElementsByTagName(gType);
if(_getElements){
var countScript = _getElements.length;
var matchScript = new RegExp(gUrl, "gi");
for(var i = 0; i < countScript; i++){
if(gSrc == "href" && _getElements[i].href) var getSource = _getElements[i].href;
else if(_getElements[i].src) var getSource = _getElements[i].src;
if(getSource){
if(getSource.match(matchScript)){
var gElem = _getElements[i];
if(gElem && gElem.parentNode)
gElem.parentNode.removeChild(gElem);
}
}
}
}
}
deleteLinks("toto\\.fr", "a", "href");
</script> |
Merci