Jquery .siblings() 不使用自定义属性
Jquery .siblings() not working with custom attributes
我正在尝试将类添加到所有在复选框元素上共享某些自定义属性的兄弟姐妹,前提是选中或未选中条件复选框。
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>
如果我缺少一些东西,它是如何工作的,请告诉我,如果需要其他东西,请提及它,我会提供它
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/
相关文章:
- 设置自动分隔符的自定义属性
- 与ng attr myCustomAttribute匹配的自定义属性指令
- 获取自定义属性的值
- 如何创建自定义属性以添加if.bind
- 动态更新Angular2指令中自定义属性的值
- 使用jQuery更改输入字段的自定义属性
- 在 Javascript 生成的列表中,如何将自定义属性添加到 标记
- 设置 HTML 自定义属性与在 ID 属性中存储信息
- 是否可以在 Polymer 中的
节点上使用自定义属性以获得漂亮的 API - 为什么克隆节点排除自定义属性
- 将自定义属性添加到 vuejs 组件
- 使用原型对象向javascript对象添加自定义属性和方法的建议
- 正在设置自定义属性名称
- datalist获取选定的值和自定义属性(无事件)
- 如何使用javascript获取元素的自定义属性值
- 在jQuery方法中编写自定义属性的正确语法是什么
- 自定义属性jquery Datatables
- 使用 css() 更改自定义属性不起作用
- 使用Javascript从按钮获取自定义属性
- Jquery .siblings() 不使用自定义属性