我需要找到一个元素<strong class="name">Priority:</strong>
。如果存在,我需要删除它的父元素,即<div class="wrap">
我知道<li class="item">
中还存在其他元素。例如<strong class="name">Type:</strong>
。但那不应该触及。
<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>
我尝试了以下代码,但它没有帮助。
$("li.item").find("strong.name").each(function(){
if (this[value="Priority:"]) {
this.parent.remove()
}
});
答案 0 :(得分:1)
使用filter()
和closest('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(..)
或使用:contains()
$("li.item strong.name:contains(Priority:)").closest('li').remove();
答案 1 :(得分:1)
$('li.item .wrap:has(strong.name:contains("Priority:"))').remove();
请参阅Fiddle
答案 2 :(得分:0)
$('.name').each(function(){
$val = $(this).text();
if ($val == "Priority:") {
$(this).parent().remove();
};
});