[英]Selecting DOM elements but not their children in D3
我正在使用SCXML,我的數據是這樣的:
<state id="umbrella_state">
<state id="state1"></state>
<state id="state2>
<transition event="cancel"></transition>
<transition event="next"></transition>
</state>
<transition event="quit"></transition>
</state>
我使用D3的目的是可視化狀態及其轉換,但我一直在努力准確地僅選擇所需的轉換。
d3.selectAll("#transitions") // selects everything, which I don't want
我想要的只是選擇一個狀態的過渡,而不是其子狀態。 例如,狀態1的唯一轉換是“退出”。 我想像這樣:
d3.selectAll("[id=umbrella_state]").selectAll("transition :not(transition > transition)")
(並針對每個父狀態重復此操作,直到我達到所需的狀態)。
我用這樣的選擇器解決了我的問題:
d3.selectAll("[id='" + state.attr("id") + "'] > transition")
相當於:
d3.selectAll("[id='umbrella_state'] > transition")
我遞歸地執行每個級別的操作,直到達到最深的狀態。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.