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()
, но у меня есть ссылки внутри списка, которые мне нужно сохранить.
Ответы
Ответ 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 );
Это берет подстроку от первой запятой, до конца