如何从一行文本中删除一个字符

时间:2019-10-24 15:37:19

标签: javascript jquery

我想从下面的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 个答案:

答案 0 :(得分:1)

.replace()方法不会更改调用它的字符串对象。它只是返回一个新字符串。

因此,您可以使用jQuery .html()方法(假设您想保留<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>

答案 1 :(得分:0)

您可以尝试以下方法:

var newContent = $('div li').text().replace('(', '');
$('div li').html(newContent);

答案 2 :(得分:0)

问题是要替换文本,您需要将文本放在括号内: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

答案 3 :(得分:0)

为了真正安全起见,您应该保存jQuery,然后使用每个jQuery迭代每个元素。

示例:

var elems = jQuery('div li');
elems.each(function() {
  var $this = $(this);
  $this.text($this.text().replace('/\(//', ''));
});

答案 4 :(得分:0)

将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("(",""));

答案 5 :(得分:0)

嗨,我认为这应该可以解决您的问题:

$(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>

答案 6 :(得分:-1)

尝试一下:

  

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