我有一个HTML结构,我想删除一个额外的项目。
<div class="tokenfield form-control">
<input class="pro-credit-user" name="pro-credit-users[]" placeholder="Person or business name" style="position: absolute; left: -10000px;" tabindex="-1" type="text">
<input style="position: absolute; left: -10000px;" tabindex="-1" type="text">
<div class="token invalid">
<span class="token-label" style="max-width: 152px;">dfgdfgdf</span>
<a href="#" class="close" tabindex="-1">×</a>
</div>
<input class="token-input ui-autocomplete-input" autocomplete="off" placeholder="Person or business name" id="1479230390171168-tokenfield" tabindex="0" style="min-width: 60px; width: 1237.4px;" type="text">
</div>
<a class="delete-pro-credit" href="#">Delete</a>
<span class="pro-credit-error" style="color:red;float:right">Sorry, this user cannot be found. We will not be able to link this persons name with an Enjoius account</span>
我也有jQuery代码:
$("input.pro-credit-user").last().on('tokenfield:removetoken', function (e) {
$(this).closest('span').remove(); // not working
})
当用户删除令牌时,我还想删除具有“pro-credit-error”类的跨度。我写了jQuery,但它没有用。
如何删除包含“pro-credit-error”类的范围?
答案 0 :(得分:0)
closest
通过在DOM树中遍历其祖先来工作。在这种情况下,您要删除的span
不是它的祖先
虽然没经过测试,但您可以试试这个
$("input.pro-credit-user").last().on('tokenfield:removetoken', function (e) {
$(this).parent().sibling('span.pro-credit-error').remove();
})
答案 1 :(得分:0)
试试这个
$(this).next('span').remove();
答案 2 :(得分:0)
以下代码适用于我:
$("input.pro-credit-user").last().on('tokenfield:removetoken', function (e) {
$(e.relatedTarget).parent().prev().parent().find('span.pro-credit-error:eq(0)').remove();
})