从 Jquery 移动版的控制组中删除特定元素
Delete specific elements from controlgroup in Jquery Mobile
看看这个包含三项的列表:
<div id="results" data-role="controlgroup">
<input name="first" id="radio1" value="on" type="radio">
<label for="radio1">One</label>
<input name="second" id="radio2" value="off" type="radio">
<label for="radio2">Two</label>
<input name="third" id="radio3" value="other" type="radio">
<label for="radio3">Three</label>
</div>
要清空控制组,我只是这样做:
var $group = $("#results").controlgroup();
$group.controlgroup("container").empty();
$group.controlgroup("refresh");
但是,当我尝试删除除第一个元素(第一个输入和第一个标签)之外的所有元素时,我这样做没有得到肯定的结果:
var $group = $("#results").controlgroup();
$group.controlgroup("container").not('input[name="first"], label[for="radio1"]').remove();
$group.controlgroup("refresh");
上面的代码删除了控制组中的所有项目,如您在 this fiddle 中所见。您对我如何实现此操作有什么建议吗?提前谢谢你。
- Jquery 移动版 1.4.5
jQuery 移动包装 input-label 对到另一个容器中进行样式设置。因此,您需要 select 那些 children 除了第一个并删除它们:
$("#delete-except").on("click", function (e) {
var $group = $("#results").controlgroup();
$group.controlgroup("container").children(':not(:first)').remove();
$group.controlgroup("refresh");
});
看看这个包含三项的列表:
<div id="results" data-role="controlgroup">
<input name="first" id="radio1" value="on" type="radio">
<label for="radio1">One</label>
<input name="second" id="radio2" value="off" type="radio">
<label for="radio2">Two</label>
<input name="third" id="radio3" value="other" type="radio">
<label for="radio3">Three</label>
</div>
要清空控制组,我只是这样做:
var $group = $("#results").controlgroup();
$group.controlgroup("container").empty();
$group.controlgroup("refresh");
但是,当我尝试删除除第一个元素(第一个输入和第一个标签)之外的所有元素时,我这样做没有得到肯定的结果:
var $group = $("#results").controlgroup();
$group.controlgroup("container").not('input[name="first"], label[for="radio1"]').remove();
$group.controlgroup("refresh");
上面的代码删除了控制组中的所有项目,如您在 this fiddle 中所见。您对我如何实现此操作有什么建议吗?提前谢谢你。
- Jquery 移动版 1.4.5
jQuery 移动包装 input-label 对到另一个容器中进行样式设置。因此,您需要 select 那些 children 除了第一个并删除它们:
$("#delete-except").on("click", function (e) {
var $group = $("#results").controlgroup();
$group.controlgroup("container").children(':not(:first)').remove();
$group.controlgroup("refresh");
});