これは私の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">
私の問題は、クラスchild-of-idの要素にプロパティselected-group = "1"があるかどうかを確認し、すべてのchild-of-idにプロパティがあるかどうかを確認してから、新しいプロパティを追加する必要があることです(チェック済み、 true)その特定の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
。ブール値になることを期待していましたが、おそらく方法論にあまり詳しくありません。