您能否看一下this demo并让我知道为什么我无法仅删除.check-wrap
类(如果存在)? .unwrap()
现在发生了什么,甚至删除了.well
$("#un-mask").on("click", function() {
if ($("input:checkbox").parent().is('.check-wrap'))
$("input:checkbox").unwrap("<span class='check-wrap'></div>");
});
@import 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css';
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="well">
<input type="checkbox" />
<span class="check-wrap">
<input type="checkbox" />
</span>
<span class="check-wrap">
<input type="checkbox" />
</span>
</div>
</div>
<button class="btn btn-default" id="un-mask">Yes</button>
最佳答案
jQuery的.unwrap()
方法不接受任何参数。它将删除每个匹配元素的父级。由于您的div.well是第一个复选框输入的父级,因此也会将其删除。
解决此问题的一种方法是将第一个复选框输入包装在某种标签中,就像其他标签一样:
$('input:checkbox').unwrap();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="well">
<span class="check-wrap">
<input type="checkbox" />
</span>
<span class="check-wrap">
<input type="checkbox" />
</span>
<span class="check-wrap">
<input type="checkbox" />
</span>
</div>
</div>
<button class="btn btn-default" id="un-mask">Yes</button>
https://api.jquery.com/unwrap/
关于javascript - 在展开复选框父项时遇到问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32785636/