2011-01-21 5 views
0
var e = document.getElementById('anelement'); 
e.innerHTML = f.anelement 

внутри anelement Я хотел бы заменить каждое вхождение некоторого слова с apple например orange, как бы я идти об этом?найти и заменить на HTMLelement.INNERHTML?

+0

В зависимости от вашей замены вы можете повредить структуру HTML. То есть изменить теги. Если возможно, избегайте замены строки на '.innerHTML' – Raynos

+0

что такое' f.anelement'? – galambalazs

ответ

5

innerHTML является String объект, который имеет replace метод:

e.innerHTML = f.anelement.innerHTML.replace("apple", "orange"); 

Редактировать

Как Matt Brock указал в комментариях, простой replace не различает целые слова и подстрок , Более точное решение с использованием регулярных выражений будет:

var result = "apple to orange".replace(/\b(apple)\b/g, "orange"); 
// evaluates to "orange to orange" 
+0

Возможно, вы хотите добавить больше логики. Это заменит все вхождения «Snapple» на «Snorange». –

+0

@ Матт Брок: Хорошая добыча. – Saul

+0

Не работает для строки «apple apple to orange», регулярное выражение должно быть глобальным. '/ \ b (apple) \ b/g' – Hemlock