【发布时间】:2015-01-24 15:05:04
【问题描述】:
我遇到了一些 jQuery 代码的问题。我无法让选择器正常工作。选择器应该用div except 包装我页面上的所有inputs checkboxes 和radios。这是我用来尝试完成此操作的 jQuery 选择器:
//Wrap input tags in col-sm-9
$("#custom-form-builder input[type!=radio], input[type!=checkbox]").not('#custom-form-builder .datepickercontroller').wrap('<div class="col-sm-9">');
这是我的 HTML 代码:
<div class="form-group required checkboxerrr">
<label class="col-sm-3 control-label">Multiselect</label>
<div class="col-sm-9 control-class">
<div class="checkbox check-info">
<input type="checkbox" checked="checked" value="1" id="checkbox5">
<label for="checkbox5" class="no-asterisk">Action</label>
</div>
<div class="checkbox check-info">
<input type="checkbox" checked="checked" value="1" id="checkbox6">
<label for="checkbox6" class="no-asterisk">Mark as read</label>
</div>
</div>
</div>
在这个 jQuery 选择器执行之后,radios 没有被包裹在这个:<div class="col-sm-9"> 中。但是,我的checkboxes 是。这是执行 jQuery 选择器后的最终 HTML:
<div class="form-group required checkboxerrr">
<label class="col-sm-3 control-label">Multiselect</label>
<div class="control-class col-sm-9">
<div class="checkbox check-info">
<div class="col-sm-9"><input type="checkbox" checked="checked" value="1" id="checkbox5"></div>
<label for="checkbox5" class="no-asterisk col-sm-3 control-label">Action</label>
</div>
<div class="checkbox check-info">
<div class="col-sm-9"><input type="checkbox" checked="checked" value="1" id="checkbox6"></div>
<label for="checkbox6" class="no-asterisk col-sm-3 control-label">Mark as read</label>
</div>
</div>
感谢任何帮助!
【问题讨论】:
-
!=属性选择器不存在。试试这个:#custom-form-builder input:not([type=radio]):not([type=checkbox]) -
@CBroe 确实如此,必须自己查一下api.jquery.com/attribute-not-equal-selector
-
@charlietfl:啊,谢谢,我不知道 jQuery 将它作为原生 CSS 选择器的扩展。
-
你的代码似乎在这里工作正常jsfiddle.net/0n7ndo6k你的html没有
id=custom-form-builder虽然
标签: javascript jquery html css jquery-selectors