Jquery 如何查找具有特定值的子元素并将其删除';s的直接父节点?
我需要找到一个元素Jquery 如何查找具有特定值的子元素并将其删除';s的直接父节点?,jquery,html,Jquery,Html,我需要找到一个元素优先级:。如果存在,我需要删除它的父元素,即 我知道在中还存在其他元素。e、 g类型:。但这不应该被触动 <li class="item"> <div class="wrap"> <strong class="name">Type:</strong> <span id="type-val" class="value"> <img alt="Task
优先级:
。如果存在,我需要删除它的父元素,即
我知道在中还存在其他元素。e、 g类型:
。但这不应该被触动
<li class="item">
<div class="wrap">
<strong class="name">Type:</strong>
<span id="type-val" class="value">
<img alt="Task" height="16" src="task.png" title="" width="16"> Task
</span>
</div>
</li>
<li class="item">
<div class="wrap">
<strong class="name">Priority:</strong>
<span id="priority-val" class="value editable-field inactive" title="Click to edit">
<img alt="2. Critical" height="16" src="/critical.png" title="2"> 2. Critical
<span class="overlay-icon aui-icon aui-icon-small aui-iconfont-edit"></span></span>
</div>
</li>
使用filter()
和最近('li')
删除父li
$("li.item strong.name").filter(function(){
return $(this).text().indexOf('Priority:') > -1;
}).closest('li').remove();
//to remove <div class="wrap"> use parent() instead of closest(..)
你可以试着和你的朋友结合。例如:
$('li.item .wrap:has(strong.name:contains("Priority:"))').remove();
请参见是否应删除高优先级的父项:
?
父级是否始终具有类.wrap
?
$("li.item strong.name:contains(Priority:)").closest('li').remove();
$('.name').each(function(){
$val = $(this).text();
if ($val == "Priority:") {
$(this).parent().remove();
};
});
$('li.item .wrap:has(strong.name:contains("Priority:"))').remove();