这是我的代码
<div class="k-top">
<span class="k-in">Module = UserManagement</span>
</div>
<ul class="k-group">
<li class="k-item">
<div class="k-top">
<span class="k-in">Forms = Manage Users</span>
</div>
<ul class="k-group" >
<li id="treeview_tv_active">
<div class="k-top">
<span class="k-state-selected k-in">Tasks = Modify</span>
</div>
<ul class="k-group">
<li class="k-item" >
<div class="k-top"> //I want to delete This DIV
<span class="k-in">Roles = User, Admin, Approver</span>
</div>
</li>
<li class="k-item k-last" >
<div class="k-bot">
<span class="k-in">Roles = User,Admin,</span>
</div>
</li>
</ul>
</li>
我尝试过以下jQuery
$('.k-in').closest('.k-top').remove();
删除以下div
<div class="k-top">
<span class="k-in">Roles = User, Admin, Approver</span>
</div>
但是这会删除所有带有class ="k-top"
如何删除上述代码中的特定div
请帮我解决这个问题
答案 0 :(得分:2)
那是因为你有多个分类与“k-in”类。您正在使用的选择器拉出所有5个“k-in”类元素,然后找到具有“k-top”类的最接近元素(在每种情况下,这是它们的父级除了最后一个),然后删除他们都是。
如果您只想专门删除其中一个分隔符,可以为其指定唯一标识符并选择:
<ul class="k-group" >
<li id="treeview_tv_active">
<div class="k-top">
<span class="k-state-selected k-in" id="k-in-3">Tasks = Modify</span>
</div>
<ul class="k-group">
<li class="k-item" >
<div class="k-top"> //I want to delete This DIV
<span class="k-in" id="k-in-4">Roles = User, Admin, Approver</span>
</div>
</li>
...
通话:
$('#k-in-4').closest('.k-top').remove();
答案 1 :(得分:1)
试试这个:
$('li ul.k-group .k-item:first-child').remove();
修改强>
试试这个:
$('.k-group .k-item .k-group .k-group .k-item:first-child .k-top').remove();
答案 2 :(得分:0)
尝试使用:
$('.k-in:contains("Roles = User, Admin, Approver")').parent('.k-top').remove();
答案 3 :(得分:0)
最好是为要删除的div提供ID并尝试以下操作:
$('#divID').remove();
类选择器将返回太多元素,因为许多元素具有相同类,结构几乎相似。
答案 4 :(得分:0)
我从root开始删除div
$( 'ul li ul li ul li div.k-top').remove();
注意与div关联的li标签(已删除)仍然存在。要摆脱li,您可以使用此版本:
$( 'ul li ul li ul li:first').remove();
如果省略第一个ul标签(root)
,它仍然有效$( 'li ul li ul li:first').remove();
答案 5 :(得分:0)
您想何时删除元素?
如果是元素点击,您可以执行以下操作:
$('.k-in').click(function() {
$(this).closest('.k-top').remove();
});
如果来自任何其他地方,你必须有一个id或其他属性/属性关联来过滤选择,因为@James Donnelly jQuery将会出现以下所有情况:
$('.k-in).closest('.k-top').remove();
答案 6 :(得分:-1)
使用以下
$('.k-in').parent().remove();
如果你有k-top这个范围的直接父母