我正在尝试向所有通过复选框元素共享某些自定义属性的兄弟元素添加类,只要条件复选框被选中或未选中。
if (jQuery("tr[data-tt-parent-id='" + parentIdLevel_1 + "']").find(' td:first input').siblings().is(':checked') == true) {
jQuery('tr#' + parentIdLevel_1 + ' td:first').removeClass('intermediateCheckBoxCss').addClass('chkBoxCss');
}编辑:这是我的HTML
<tbody><tr class="noParentoddRow branch expanded" data-tt-id="6" id="6">
<td class="intermediateCheckBoxCss"><span class="indenter" style="padding-left: 0px;"><a href="#" title="Collapse"> </a></span>
<input type="checkbox" class="" style="display: none;" value="6" name="status[]" id="status-6">
<label for="status-6">
<span></span>
Manufacturing Module</label>
</td>
</tr>
<tr data-tt-parent-id="6" data-tt-id="7" id="7" class="branch collapsed" style="display: table-row;">
<td class="chkBoxCssChecked"><span class="indenter" style="padding-left: 23px;"><a href="#" title="Expand"> </a></span>
<input type="checkbox" class="cssParentId-6" style="display: none;" value="7" name="status[]" id="status-7" checked="checked">
<label for="status-7">
<span></span>
Stock</label>
</td>
</tr>
<tr data-tt-parent-id="6" data-tt-id="12" id="12" class="branch collapsed" style="display: table-row;">
<td class="chkBoxCssChecked"><span class="indenter" style="padding-left: 23px;"><a href="#" title="Expand"> </a></span>
<input type="checkbox" class="cssParentId-6" style="display: none;" value="12" name="status[]" id="status-12" checked="checked">
<label for="status-12">
<span></span>
Product</label>
</td>
</tr>如果我遗漏了一些东西,请让我知道,如果需要其他东西,请提及它,我会提供它。
发布于 2013-09-19 06:47:28
jQuery的siblings()选择所有兄弟项。您需要使用each()才能使用is(':checked'),因为每个元素都需要经过测试。
jQuery('input').eq(0).siblings().each(function() {
if (this.checked) {jQuery(this).addClass('selected');}
});但是,您也可以选择特定的同级,如下所示:
...siblings(':checked').addClass('selected');或
jQuery('input ~ :checked').addClass('selected')http://jsfiddle.net/GzUpW/
编辑:
关于兄弟的定义:
同级节点定义为具有相同父级的相同级别的节点。
因此,给定您的示例,看起来选择器应该是这样的(相对于特定的输入):
$(this).closest('table').find('input').not(this)下面是一个使复选框具有单选按钮功能的示例:http://jsfiddle.net/dYT7K/
https://stackoverflow.com/questions/18883444
复制相似问题