我想从下面的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>
答案 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, '');