как удалить символ из строки текста - PullRequest
0 голосов
/ 24 октября 2019

Я хочу удалить ( из приведенного ниже HTML

Я пробовал следующее. Я знаю, что не использую правильный синтаксис

jQuery('div li').text().replace('/\(//', '');
jQuery('div li').text().replace('/(/', '');
jQuery('div li').text().replace('\(\', '');
jQuery('div li').text().replace('(', '');

HTML

<li>This text remains but i need to remove ( <a>from the sentence</a></li>

Ответы [ 7 ]

1 голос
/ 24 октября 2019

Метод .replace () не изменяет строковый объект, для которого вызывается. Он просто возвращает новую строку.

Так что вы можете использовать метод jQuery .html () (если вы хотите сохранить <a>), чтобы получить строку, передайте метод aфункция для замены и возврата измененного HTML с:

jQuery('div li').html(function() {
  return jQuery(this).html().replace('(', '');
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <ul>
    <li>This text remains but i need to remove ( <a>from the sentence</a></li>
  </ul>
</div>
0 голосов
/ 24 октября 2019

Привет, я думаю, что это должно решить вашу проблему:

$(document).ready(function(){
   $('#btn').click(function(){
     var elt = $("li"),
    result= elt.html().replace(/\(/g, "");
elt.html(result);
     
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<li>This text remains but i need to remove ( 
  <a>from the sentence</a>
</li>
<button id="btn">Remove (</button>
0 голосов
/ 24 октября 2019

Попробуйте это:

jQuery('div li').text().replace(/([,.(])+/g, '');

0 голосов
/ 24 октября 2019

Назначение ID или класса для элемента будет лучше, но вот ваш ответ.

$('div li').text($('div li').text().replace("(",""));

Моя рекомендация:

<li id="change">This text remains but i need to remove ( <a>from the sentence</a></li>
$('#change').text($('#change').text().replace("(",""));
0 голосов
/ 24 октября 2019

Чтобы быть в безопасности, вы должны сохранить свой jQuery, а затем использовать каждый для перебора каждого элемента.

Пример:

var elems = jQuery('div li');
elems.each(function() {
  var $this = $(this);
  $this.text($this.text().replace('/\(//', ''));
});
0 голосов
/ 24 октября 2019

Проблема в том, что для замены текста вам необходимо поместить текст в круглые скобки: text({here})

jQuery('li').text(jQuery('li').text().replace("(", ""))

или

var str = jQuery('li').text().replace("(", "");
jQuery('li').text(str)

Для получения дополнительной информации см. Здесь:https://api.jquery.com/text/#text2

0 голосов
/ 24 октября 2019

Вы можете попробовать это:

var newContent = $('div li').text().replace('(', '');
$('div li').html(newContent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...