我正在尝试从标题列表中删除一个'h3‘标签,通过文本选择它。例如,如果我有:
html:
<h3>NO CHANGE</h3>
<h3>h3 to be removed</h3>
<h3>NO CHANGE</h3>
<h3>NO CHANGE</h3>
<h3>NO CHANGE</h3>jQuery:
var h3_text_remove = $('h3').text();
if (h3_text_remove == 'h3 to be removed'){
$('h3').remove();
//console.log (h3_text_remove);
}如何仅删除带有文本“要删除的h3”的标题?
小提琴:http://jsfiddle.net/q2nb08t6/7/
发布于 2015-06-12 13:27:30
发布于 2015-06-12 13:27:47
使用:
//If text can have leading or trailing spaces
$('h3').filter(function() {
return $(this).text().trim() == 'h3 to be removed';
}).remove();
//or if the text should match exactly:
$('h3').filter(function() {
return $(this).text() == 'h3 to be removed';
}).remove();演示1
$('h3').filter(function() {
return $(this).text().trim() == 'h3 to be removed';
})
.remove();<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3>NO CHANGE</h3>
<h3>h3 to be removed</h3>
<h3>NO CHANGE</h3>
<h3>NO CHANGE</h3>
<h3>NO CHANGE</h3>
<h3>h3 to be removed </h3>
<h3> h3 to be removed</h3>
<h3>h3 to be removed xx</h3>
演示2
发布于 2015-06-12 13:27:10
您可以使用:contains()选择器在一行中完成此操作:
$('h3:contains("h3 to be removed")').remove();或者使用变量:
var h3_text_remove = $('#specificH3').text();
$('h3:contains("' + h3_text_remove + '")').remove();请注意,这将以任何方式删除包含该文本的所有h3元素,因此将删除以下两个元素:
<h3>h3 to be removed</h3>
<h3>foo h3 to be removed bar</h3>若要将其限制为仅包含整个文本的元素,请使用filter()
$('h3').filter(function() {
return $(this).text() == 'h3 to be removed';
}).remove()https://stackoverflow.com/questions/30804304
复制相似问题