2013-09-16 3 views
-2

Ce script ne fonctionne pas.
Quel est le problème?getElementsByClassName ne fonctionne pas

jsFiddle: http://jsfiddle.net/VHeAq/

var elements = document.getElementsByClassName('test1'); 
for (var i = 0; i < elements.length; i++){elements[i].innerHTML.replace('foo', 'bar')}; 
+2

Vous remplacez une chaîne, pas le html. Utilisez 'elements [i] .innerHTML = éléments [i] .innerHTML.replace ('foo', 'bar');' à la place. –

Répondre

3

Une chaîne est immuable, donc replace ne change pas, mais retourne une nouvelle.

changement

elements[i].innerHTML.replace('foo', 'bar') 

à

elements[i].innerHTML = elements[i].innerHTML.replace('foo', 'bar') 

Demonstration

Questions connexes