Как заменить строку на веб-странице HTML другой строкой, используя JavaScript? - PullRequest
0 голосов
/ 14 февраля 2019

Мне нужно изменить одну строку с другой, используя JavaScript для веб-сайта HTML.Итак, «AuthorList» имеет нодлистный список со строкой «Test String».Мне нужно изменить все вхождения «тестовой строки» в «новый тест».

Я пробовал много разных модификаций кода ниже.Кажется, я не могу найти другой путь без ошибок.

for(var i=0, num=AuthorList.length; i<num; i++){
  if(AuthorList[i] = "Test String")
  {
    string.replace("New Test")
  }
}

После замены текста мне также нужен способ добавить стили к новой строке.Есть ли способ сделать это при изменении строки?

Ответы [ 3 ]

0 голосов
/ 14 февраля 2019

Попробуйте следующим образом

for(var i=0, num=AuthorList.length; i<num; i++){
    String oldData = "Test String";
    String newData = "New Test";
    if(AuthorList[i] == oldData){
        AuthorList[i] =newData;
    }
}
0 голосов
/ 14 февраля 2019

Вы должны переназначить элемент AuthorList[i].Также используйте == не = в вашем условном выражении:

for (var i = 0; i < AuthorList.length; i++){
  if (AuthorList[i] == "Test String")  {
    AuthorList[i] = string.replace("Test String", "New Test");
  }
}

Вы также можете сделать то же самое с map():

AuthorList.map(e => e == "Test String" ? string.replace("Test String", "New Test") : e);
0 голосов
/ 14 февраля 2019

String.prototype.replace () Синтаксис требует двух параметров.Вы также должны переназначить измененную строку.

Обратите внимание: = является оператором присваивания, а не сравнения (==).Вы должны использовать == в условии if.

for(var i=0, num=AuthorList.length; i<num; i++){
  if(AuthorList[i] == "Test String")
  {
    AuthorList[i] = string.replace("Test String", "New Test");
    //Or simply without replace()
    //AuthorList[i] = "New Test"; // This will override the previous string
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...