我是Javascript和JQuery的新手,我面临以下问题:
我们正在构建一个任务树,以帮助用户根据自己的兴趣指导课程。
对于每个课程路径,将有一系列链接,例如:
HTML
<a href="" id="" math="0" ela="0" social="0" science="0" self="0" active="1">Link 0</a>
<br />
<a class="inactive" id="" ela="2" social="1" science="1" math="1" active="0" self="1" parent="0" >Link 1</a> <a class="inactive" id="" ela="4" social="2" science="2" math="2" active="0" parent="0" self="2">Link 2</a>
<br />
<a class="inactive" id="" ela="3" social="3" science="3" math="3" active="0" parent="1,2" self="3" >Link 3</a> <a class="inactive" id="" ela="4" social="4" science="4" math="4" active="0" parent="1,2" self="4">Link 4</a> <a class="inactive" id="" ela="5" social="5" science="5" math="5" active="0" parent="1,2" self="5">Link 5</a>
<br />
<a class="inactive" id="" ela="6" social="6" science="6" math="6" active="0" parent="3,4,5" >Link 6</a> <a class="inactive" id="" ela="7" social="7" science="7" math="7" active="0" parent="3,4,5">Link 7</a> <a class="inactive" id="" ela="8" social="8" science="8" math="8" active="0" parent="3,4,5" >Link 8</a> <a class="inactive" id="" ela="9" social="9" science="9" math="9" active="0" parent="3,4,5" >Link 9</a>
的jQuery
$('a').click( function(e) {
e.preventDefault();
self = $(this).attr("self");
$("a[parent*="+self+"]").attr("active", 1).attr("href", "").removeClass("inactive");
});
我的挑战是设置依赖关系,并且只有在成功确认父级(可能是通过单击)后才能使子级链接可单击。上述工作适用于已经点击的任一个/或父母,但我正在寻找一种方法,在生成的子链接可用之前必须点击所有父母。例如。 (链接3,4和5仅在单击1和2后才可用。如果单击2或3,则现在可以使用3,4,5。)