Подтвердить что ты не робот

JQuery Удалить строку из строки

Я пытаюсь удалить строку из строки в jQuery.

Вот строка:

username1, username2 and username3 like this post.

Я хотел бы удалить username1, из этого списка. Я попытался добавить список в массив с помощью .split(', '), но я получил ошибку. Я предполагаю, что ошибка заключается в том, что не каждое слово имеет после нее запятую.

Я всегда хочу удалить элемент из списка. username1 - это просто пример имени пользователя. Первый элемент всегда будет именем пользователя текущего пользователя, если ему понравился этот пост.

Я пробовал:

  var updated_list = $('#post_like_list').html().replace('username1, ', '');
  $('#post_like_list').html(updated_list);

Но это не обновляло список. Однако он обновляет список при использовании .text() вместо .html(), но у меня есть ссылки внутри списка, которые мне нужно сохранить.

4b9b3361

Ответ 1

уверен, что вам просто нужна простая старая функция замены. используйте следующее:

myString.replace('username1','');

Я полагаю, что если вы хотите удалить конечную запятую, сделайте это вместо этого:

myString.replace('username1,','');

изменить:

вот ваш код для вашего сайта:

jQuery("#post_like_list-510").text().replace(...) 

Ответ 2

Чтобы добавить ответ nathan gonzalez, обратите внимание, что вам нужно назначить замененный объект после вызова функции replace, поскольку он не является функцией мутатора:

myString = myString.replace('username1','');

Ответ 3

Если вы просто хотите удалить "username1", вы можете использовать простую замену.

name.replace("username1,", "")

или вы можете использовать split, как вы упомянули.

var name = "username1, username2 and username3 like this post.".split(",")[1];      
$("h1").text(name);

jsfiddle пример

Ответ 4

Я предполагаю, что текст "username1" является просто заполнителем для того, что в конечном итоге станет фактическим именем пользователя. Предполагая, что

  • Если имя пользователя не разрешено иметь пробелы, то просто выполните поиск всего до первого пробела или запятой (таким образом, найдя оба "u1 нравится это" и "u1, u2 и u3" ").
  • Если ему разрешено иметь пробел, возможно, было бы проще обернуть каждое имя пользователя в его собственный тег span, прежде чем отправлять его клиенту, а затем просто работать с тегами span.

Ответ 5

Уверен, никто не ответит на ваш вопрос точно, вы хотите его для динамического текста

var newString = myString.substring( myString.indexOf( "," ) +1, myString.length );

Это берет подстроку от первой запятой, до конца