удаление последнего символа из текста span?

#jquery #html

#jquery #HTML

Вопрос:

У меня есть элемент span, который является просто текстом. Я продолжаю добавлять к нему на основе определенных событий. Это отлично работает при использовании $("#id").append(txt); . Однако я не могу удалить его. Я попытался использовать $("#id").slice(0, -1) , так как $("#id").val().slice(0, -1); значения, отображаемые на странице, остаются неизменными. Должен ли я использовать substr или что-то в этом роде? Пробовал Google, но не смог придумать ничего подобного? Возможно ли это вообще с помощью jquery?

Комментарии:

1. Вы хотите избавиться от последних четырех символов или только от последнего символа? .slice(0,-1) для последнего символа, .slice(0,-4) для последних четырех.

2. @Luxelin. отредактировано, чтобы устранить путаницу.

Ответ №1:

Вы можете использовать так:

 $(selector).text(function(i,v){
   return v.slice(0,-4);
});
 

Комментарии:

1. Мне особенно нравится эта функция jQuery 🙂

2. @RajaprabhuAravindasamy Как так? Селектор идентификаторов выдает не более одного элемента, я не понимаю, как это влияет на его выполнимость.

3. @C-link, я новичок в этом, поэтому в моем случае так и должно быть $("#id").text(function(i, v){ return v.slice(0, -4); }; . Это должно изменить текст span?

Ответ №2:

Попробуйте это после добавления этой строки $("#id").append(txt);

 var str = $("#id").text(); // this hold appended text
alert(str.substring(0,str.length - 1));
 

или

 str.slice(0,-1)
 

Ответ №3:

на самом деле, с помощью slice() вы можете сделать это еще проще:

 var originalText = $("#id").text();
var result = originalText.slice(0, -1);
 

Ответ №4:

Возьмите текст, возьмите его подстроку, обрезав последний символ, а затем снова поместите значение в #id

 $k = $('#id').text();
$k.substring(0,$k.length-1);
$('#id').text($k);