这是我的HTML的外观,检查属性的所有元素,并修改另一个元素
<tr id="group-1-11">
<tr class="child-of-group-1-11 " selected-group="1" >
<tr id="group-1-12" class="child-of-group-1-11" parent-id="group-1-11" selected-group="1">
<tr class="child-of-group-1-12" parent-id="group-1-12" selected-group="1">
<tr class="child-of-group-1-12" parent-id="group-1-12" selected-group="1">
<tr class="child-of-group-1-11" selected-group="1" >
<tr id="group-1-85" class="child-of-group-1-11" parent-id="group-1-11" >
<tr class="child-of-group-1-85" selected-group="1" style="display: none;">
<tr id="group-1-355" class="child-of-group-1-85" parent-id="group-1-85" selected-group="1">
<tr id="group-1-2" class="child-of-group-1-11 parent " parent-id="group-1-11">
什么现在是我的问题是,我需要检查是否带班儿童的-ID的元素有属性selected-group =“1”,如果所有的孩子的id有属性,然后添加新的属性(选中,真)元素与该特定的ID。
// I have an array of ids
// var uniqueParentArray = ['group-1-11', 'group-1-12', 'group-1-85',...];
$.each(uniqueParentArray, function(index, parentId) {
var allSelected = $('.child-of-'+parentId).each(function(){
var selectedGroup = $(this).attr('selected-group');
if(selectedGroup != '1')
return false;
return true;
});
if(allSelected) {
$('#'+parentId).attr("checked", true);
}
});
由最终意味着我的结果应该是这样的:
<tr id="group-1-12" class="child-of-group-1-11" parent-id="group-1-11" selected-group="1" checked="true">
<tr id="group-1-85" class="child-of-group-1-11" parent-id="group-1-11" checked="true">
但与元素id = "group-1-11"
不应该有属性checked = "true"
我希望背景是清楚的。我可能在脚本中有一个错误,因此结果输出不像预期的那样。请帮我修复这个错误,我期待allSelected
是布尔值,但我可能不太熟悉这个方法。
嗯!为什么我没有想到它,谢谢@jackwanders。但这确实需要不必要的循环,再次感谢你,但我想我还会等待其他解决方案。 – 2012-08-07 16:01:27