Как заменить символы внутри конкретного тега, используя JavaScript - PullRequest
0 голосов
/ 19 ноября 2010

Мне нужно заменить символы внутри конкретного тега, используя JavaScript при загрузке страницы.У меня есть большой список символов для замены.так что это будет быстро и должно работать с основными браузерами.пример: -

<p> The quick brown fox jumps over the lazy dog </p>

нужно будет выглядеть как

<p> h=f t)ujh lk.,h ghy tfbm' bhjf ghy {>ht Frt </p>

Спасибо!

Ответы [ 2 ]

2 голосов
/ 19 ноября 2010

Дайте <p> ID, и вы уже в пути:

<p id='p1'>content...</p>

Javascript:

var text = document.getElementById('p1').innerHTML;
text = text.replace("c","x");
...
document.getElementById('p1').innerHTML = text;

РЕДАКТИРОВАТЬ

Чтобы нацелиться на все <p> s, сделайте, как вы сказали:

var allPs = document.getElementsByTagName("P");
var text;

for(i=0;i<allPs.length;i++) {
  text = allPs[i].innerHTML;
  text = text.replace("c","x");
  allPs[i].innerHTML = text;
}

Возможно, вам придется запустить цикл while над методом .replace(), так как вызов его один раз приведет только к одной замене (т.е. только 1 "с" будет заменен).

1 голос
/ 19 ноября 2010

Используйте регулярные выражения и объединяйте в цепочку множественные замены:

window.onload = function() {
    var string = document.getElementsByTagName("p")[0].innerHTML;
    var replacedString = string.replace(/somespecialchar/gi, "replaceWith").replace(/someotherspecialchar/gi, "replaceWith").replace(/anotherchar/gi, "replaceWith");
    document.getElementsByTagName("p")[0].innerHTML = replacedString;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...